相关疑难解决方法(0)

与侦听器不一致 - 一台计算机上的 onUpdated 和另一台计算机上的 onReplaced

我正在我的 eventPage.js 中使用下一个代码(由谷歌替换的backgroundPage),并且我面临着一些奇怪的不一致。这是场景:

第一台机器

打开新标签->

onActivated 
onUpdated  
onUpdated  
onUpdated
Run Code Online (Sandbox Code Playgroud)

输入网址->

onUpdated
onUpdated 
Run Code Online (Sandbox Code Playgroud)

输入另一个网址 ->

onUpdated
onUpdated 
Run Code Online (Sandbox Code Playgroud)

第二台机器

打开新标签->

onActivated
Run Code Online (Sandbox Code Playgroud)

输入网址

onReplaced
onActivated
Run Code Online (Sandbox Code Playgroud)

输入另一个网址

onReplaced 
onActivated
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab)
{   
    console.log("onUpdated");
       });

chrome.tabs.onActivated.addListener(function(tabId, changeInfo, tab)
{
    console.log("onActivated");
   });

 chrome.tabs.onReplaced.addListener(function(tabId, changeInfo, tab)
 {
    console.log("onReplaced");
   });
Run Code Online (Sandbox Code Playgroud)

经过大量调试后,我发现造成这种差异的原因是 Google Chrome 设置中的“预测网络操作以提高页面加载性能”选项。

在第一台机器中,未选择上述选项,并且按预期工作。

这是第二台机器的预期行为吗?

从文档中我可以以某种方式理解 onReplaced 状态:

当一个选项卡由于预渲染或即时而被另一个选项卡替换时触发。

尽管记录非常少,并且无法知道该选项在某种程度上与 onUpdated onReplaced 状态相关,但我真的不明白第二台机器中的 onActivated 状态以及为什么第一台机器和第二台机器之间存在差异。

我在网上找不到有关此行为的任何文档。在 stackoverflow 上,我几乎找不到一个提到 onReplaced 侦听器的问题,但没有任何我可以使用的信息。

谢谢

google-chrome google-chrome-extension

5
推荐指数
1
解决办法
849
查看次数