मैं इस सुविधा का उपयोग हर समय साइटों को विकसित करने में करता हूं ... इसलिए मैं एक नज़र में देख सकता हूं कि किस टैब में स्थानीय, देव या उसमें चल रहे ठेस हैं।
अब जब क्रोम एसवीजी फेवीकोन्स का समर्थन करता है तो यह इसे पूरी तरह से आसान बना देता है।
तमंचा लिपि
पर एक हंस है https://gist.github.com/elliz/bb7661d8ed1535c93d03afcd0609360f एक डेमो साइट के लिए अंक मैं पर chucked है कि एक tampermonkey स्क्रिप्ट के लिए https://elliz.github.io/svg-favicon/
मूल कोड
एक और जवाब से इसे अपनाया ... बेहतर किया जा सकता है लेकिन मेरी जरूरतों के लिए काफी अच्छा है।
(function() {
'use strict';
// play with https://codepen.io/elliz/full/ygvgay for getting it right
// viewBox is required but does not need to be 16x16
const svg = `
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<circle cx="8" cy="8" r="7.2" fill="gold" stroke="#000" stroke-width="1" />
<circle cx="8" cy="8" r="3.1" fill="#fff" stroke="#000" stroke-width="1" />
</svg>
`;
var favicon_link_html = document.createElement('link');
favicon_link_html.rel = 'icon';
favicon_link_html.href = svgToDataUri(svg);
favicon_link_html.type = 'image/svg+xml';
try {
let favicons = document.querySelectorAll('link[rel~="icon"]');
favicons.forEach(function(favicon) {
favicon.parentNode.removeChild(favicon);
});
const head = document.getElementsByTagName('head')[0];
head.insertBefore( favicon_link_html, head.firstChild );
}
catch(e) { }
// functions -------------------------------
function escapeRegExp(str) {
return str.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1");
}
function replaceAll(str, find, replace) {
return str.replace(new RegExp(escapeRegExp(find), 'g'), replace);
}
function svgToDataUri(svg) {
// these may not all be needed - used to be for uri-encoded svg in old browsers
var encoded = svg.replace(/\s+/g, " ")
encoded = replaceAll(encoded, "%", "%25");
encoded = replaceAll(encoded, "> <", "><"); // normalise spaces elements
encoded = replaceAll(encoded, "; }", ";}"); // normalise spaces css
encoded = replaceAll(encoded, "<", "%3c");
encoded = replaceAll(encoded, ">", "%3e");
encoded = replaceAll(encoded, "\"", "'"); // normalise quotes ... possible issues with quotes in <text>
encoded = replaceAll(encoded, "#", "%23"); // needed for ie and firefox
encoded = replaceAll(encoded, "{", "%7b");
encoded = replaceAll(encoded, "}", "%7d");
encoded = replaceAll(encoded, "|", "%7c");
encoded = replaceAll(encoded, "^", "%5e");
encoded = replaceAll(encoded, "`", "%60");
encoded = replaceAll(encoded, "@", "%40");
var dataUri = 'data:image/svg+xml;charset=UTF-8,' + encoded.trim();
return dataUri;
}
})();
बस अपने स्वयं के एसवीजी को पॉप करें (शायद जेक आर्चीबाल्ड के एसवीजीओएमजी के साथ साफ किया गया हो, यदि आप शीर्ष पर) में एक उपकरण का उपयोग कर रहे हैं। सुनिश्चित करें कि यह चौकोर है (व्यूबॉक्स विशेषता का उपयोग करके) और आप जाने के लिए अच्छे हैं।