Javascript Chrome make favicon请求中的history.pushState
代码:Javascript Chrome make favicon请求中的history.pushState,javascript,html,favicon,pushstate,Javascript,Html,Favicon,Pushstate,代码: var newurl = window.location.protocol + "//" + window.location.host + window.location.pathname +"?"+ queryStr; window.history.pushState({path:newurl},'',newurl) <!-- Favicon --> <link rel="icon" type="image/png" href="../img/icon/fav
var newurl = window.location.protocol + "//" + window.location.host + window.location.pathname +"?"+ queryStr;
window.history.pushState({path:newurl},'',newurl)
<!-- Favicon -->
<link rel="icon" type="image/png" href="../img/icon/favicon-16x16.png" sizes="16x16">
<link rel="icon" type="image/png" href="../img/icon/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="../img/icon/favicon-96x96.png" sizes="96x96">
当前场景:
var newurl = window.location.protocol + "//" + window.location.host + window.location.pathname +"?"+ queryStr;
window.history.pushState({path:newurl},'',newurl)
<!-- Favicon -->
<link rel="icon" type="image/png" href="../img/icon/favicon-16x16.png" sizes="16x16">
<link rel="icon" type="image/png" href="../img/icon/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="../img/icon/favicon-96x96.png" sizes="96x96">
每次调用window.history.pushState()
时,favicon请求都会快速发生。它会在每次调用此函数时向favicon发出网络请求
预期情景:
var newurl = window.location.protocol + "//" + window.location.host + window.location.pathname +"?"+ queryStr;
window.history.pushState({path:newurl},'',newurl)
<!-- Favicon -->
<link rel="icon" type="image/png" href="../img/icon/favicon-16x16.png" sizes="16x16">
<link rel="icon" type="image/png" href="../img/icon/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="../img/icon/favicon-96x96.png" sizes="96x96">
favicon应该在页面加载时只加载一次,我不希望在window.history.pushState()的每个请求上都加载favicon
favicon路径在HTML页面中的链接如下:
var newurl = window.location.protocol + "//" + window.location.host + window.location.pathname +"?"+ queryStr;
window.history.pushState({path:newurl},'',newurl)
<!-- Favicon -->
<link rel="icon" type="image/png" href="../img/icon/favicon-16x16.png" sizes="16x16">
<link rel="icon" type="image/png" href="../img/icon/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="../img/icon/favicon-96x96.png" sizes="96x96">
任何直接的帮助都是非常值得的。谢谢这看起来像是Chromium
浏览器中的一个bug。见公开问题
但是如果使用base64
image作为href
请求将不会发生,那么似乎有一个解决方法
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgo=">
请参阅问题。在Chrome中,当按住后退按钮时,您会看到历史记录中所有链接的列表,您可以选择一个。链接既有图标也有文本。在向历史添加内容时,对法维科的要求似乎很正常。我不会称之为虫子,似乎是合法的。我在回答中表达了我的怀疑看起来像个bug,可能不是,这就是为什么它从2012年开始开放。感谢更新..所以这个问题有其他解决方案。我不想在每次调用window.history.pushState()时都加载favicon您可以将图标转换为base64
图像,并将其放在favicon
链接的href
中。谢谢您的帮助:)