无法在Safari中使用JavaScript更改网站图标。

6

我有一个页面,通过JavaScript更改网站图标。在Chrome和Firefox上非常有效,但是在Safari上不起作用。我甚至添加了<link rel="apple-touch-icon" href="favicon-1.png">部分,并且也通过JavaScript进行了更改,但这也没有解决问题。

该页面如下所示:

<html lang="en">
<head>
  <meta charset="utf-8">

  <title>Foo</title>
  <link rel="icon" type="image/png" href="favicon-1.png">
  <link rel="apple-touch-icon" href="favicon-1.png">

  <style>
  </style>
</head>
<body></body>
    <script>
        setTimeout(() => {
          var favicon = document.querySelector('link[rel="icon"]');
          var appleTouchIcon = document.querySelector('link[rel="apple-touch-icon"]');
          
          favicon.setAttribute('type', 'image/png');
          favicon.setAttribute('href', 'favicon-2.png');

          appleTouchIcon.setAttribute('href', 'favicon-2.png');
          }, 4000);
    </script>
</body>
</html>

有人能发现我在这里做错了什么吗?

2个回答

6

正如在这个webkit问题中简要提到的那样,似乎这是不可能的。

引用:

...由于我们有意不允许将图标动态更改/动画效果...


0

在Safari中打开您的页面,按下Option + Command + E键以“清空缓存”,或者前往Develop/Empty Caches。

这将解决不更改网站图标的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接