我找到了使用Chrome扩展名的Content.js(run_at:document_end)中的代码更改favicon的解决方案:
(function() {
var link = document.querySelector("link[rel*='icon']") || document.createElement('link');
link.type = 'image/x-icon';
link.rel = 'shortcut icon';
link.href = 'http://www.stackoverflow.com/favicon.ico';
document.getElementsByTagName('head')[0].appendChild(link);
}());
上述作品奇迹。
将整个文档包裹在DIV中以稍后应用一些必要的自定义CSS时出现问题。
<html>
<div id="allContent">
<head></head>
<body></body>
</div>
</html>
在这种情况下,上面的第一个代码不会改变粉丝。我尝试将其最后一行更改为:
document.getElementById("allContent").getElementsByTagName('head')[0].appendChild(link);
尽管该链接得以正确插入(在<head>
内部的CC_1的底部),但Favicon不会更改。
有人知道为什么吗?
<div>
在<html>
和<head>
之间无效。渲染引擎将围绕它起作用,但是期望奇怪的副作用,例如meta属性(例如<link rel="icon" ... >
)是不可预测或忽略的。