Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态favicon的更新频率_Javascript_Google Chrome_Favicon - Fatal编程技术网

Javascript 动态favicon的更新频率

Javascript 动态favicon的更新频率,javascript,google-chrome,favicon,Javascript,Google Chrome,Favicon,我想学习如何使用Google Chrome浏览器动态更新favicon,我注意到浏览器似乎限制了每秒更新favicon的频率,这让事情看起来有些草率。我为此制作的测试页面是: 这只是一条显示倒计时结果的滚动消息。我添加了一个输入字段来调整脚本每秒移动的像素数,我在Google Chrome中看到的最大值约为每秒5帧,我没有在任何其他浏览器中测试过 我的问题是什么是最高频率,有没有办法改变它,以及它背后有什么特别的原因 注意:我还注意到这个值也会随着窗口焦点的变化而变化。当浏览器的窗口不在焦点位

我想学习如何使用Google Chrome浏览器动态更新favicon,我注意到浏览器似乎限制了每秒更新favicon的频率,这让事情看起来有些草率。我为此制作的测试页面是:

这只是一条显示倒计时结果的滚动消息。我添加了一个输入字段来调整脚本每秒移动的像素数,我在Google Chrome中看到的最大值约为每秒5帧,我没有在任何其他浏览器中测试过

我的问题是什么是最高频率,有没有办法改变它,以及它背后有什么特别的原因

注意:我还注意到这个值也会随着窗口焦点的变化而变化。当浏览器的窗口不在焦点位置时,它似乎会下降到每秒1次更新,当你返回时,它会返回到“最大值”。

事实是,Chrome(以及任何合理的浏览器)并不期望favicon会改变。它们甚至不在上面显示动画(只有第一帧被冻结并显示),尽管有很多。事实上,您可以通过DOM对其进行任何更改,这有点像黑客。这就是为什么帧速率是不可预测的,它甚至还没有接近为此进行优化

当标签模糊时,Chrome(和其他浏览器)会将
setInterval
和friends设置为1Hz,这就是为什么切换标签时动画会变得更糟糕的原因。它不知道您的间隔是否作用于当前可见的UI元素


通过JavaScript无法改变这种行为,也无法改变最大频率。抱歉。

听起来你的电脑正在尝试做一些它不适合做的事情。模糊选项卡上的1fps是因为chrome将模糊选项卡上的设置间隔限制为1Hz。不确定这是否有帮助,但请看一看:在支持它的浏览器中,您只需使用.gif favicon即可。您可以使用画布制作gif,并将其作为favicon。不需要提神。也许吧?@Rudie:你不能单凭画布制作动画GIF。。。但是,绝对有办法,所以这不是一个好的答案。不管怎么说,这不是一个好答案,但如果你保留这个,人们甚至不会尝试。@Rudie:谁说一定有办法?我从来没有找到过,我试图在我的回答中反映出这一事实。如果你比我知识渊博,那么再回答一个问题,我会投票给你。我说一定有办法。只有我。但我不知道。但有时当我看到一个没有答案的很酷的问题时,我会摆弄弄弄弄一些东西。一个说“这不可能”的答案不是答案,它会阻止人们去想它。@Rudie:你的网页是由浏览器控制的,为了让它正常工作,你需要改变浏览器(因为目前没有JavaScript API来单独控制favicon的帧率)。这并不容易,但如果你启动了我链接到的功能请求,或者只是在Chromium上激活了它,那么你就可以实现它。但这一部分并不是真正的主题。您不需要为所有内容都使用单独的API。。。。你可以选择你的favicon,你可以用CANVAS创建图像,那么你还需要什么呢?静态GIF每秒会更新不止一次,不是吗?所以你可以创建一个动态的GIF也可以这样做?如果那不是真的,忘掉我说的一切。