最近遇到一个需求:网页加载完后动态更换favicon.ico,因为这个favicon.ico是用户动态通过页面上传的并且网页还不能刷新,这不是一个容易实现的需求,因为浏览器的兼容性。根据我当时的初步判断,这个需求应该没有什么难度,只要获取新的地址之后把link的href地址给替换就好!
事实证明并非那么简单就能搞定,后来经过我实践发现这里有浏览器兼容的问题,先给大家看一段示例代码:
favicon.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link rel="shortcut icon" href="favicon1.ico" />
</head>
<body>
<p>默认指定favicon1.ico,然后中途使用js更换为favicon2.ico</p>
<script type="text/javascript">
var changeIcon = function () {
var link = document.head.querySelector("link");
link.href = "favicon2.ico";
};
changeIcon();
</script>
</body>
</html>
...