动态更改网站Favicon:如何何时将DIV包裹起来



我找到了使用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" ... >)是不可预测或忽略的。

最新更新