首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果选项卡自动重新加载,浏览器扩展"browser.tabs.onUpdated.addListener“可以在Chrome上运行,但不能在Firefox上运行

如果选项卡自动重新加载,浏览器扩展"browser.tabs.onUpdated.addListener“可以在Chrome上运行,但不能在Firefox上运行
EN

Stack Overflow用户
提问于 2020-10-19 15:02:36
回答 1查看 114关注 0票数 0

我第一次成功地向网站注入了一个内容脚本。如果我填写了一些输入域,站点将硬重新加载(以显示一些附加信息),并同时终止我的内容脚本。

在我的Chrome扩展中,我有一个解决方法:

代码语言:javascript
复制
browser.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
  const tabURL = 'my-site.com';
  if (tab.url.includes(tabURL) && changeInfo.title && changeInfo.title.includes(tabURL)) {
    browser.tabs.executeScript(tabId, {
      code: `
        window.addEventListener("DOMContentLoaded", () => {
          new MyApp();
        });`
    });
  }
});

问题是,它不能作为Firefox的扩展在Firefox中工作。我使用火狐webextension-polyfill

有没有其他适用于Firefox的“变通办法”?或者如何检测页面/选项卡是否在firefox中重新加载(例如,从后台脚本)?(并再次重新加载我的内容脚本)

EN

回答 1

Stack Overflow用户

发布于 2020-11-04 14:50:07

这可能是答案,因为它是有效的:)

代码语言:javascript
复制
// CHROME Version
  if (tab.url.includes(tabURL) && changeInfo.title && changeInfo.title.includes(tabURL)
  // FIREFOX VERSION
  || tab.url.includes(tabURL) && changeInfo.status === 'complete') 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64422561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档