我第一次成功地向网站注入了一个内容脚本。如果我填写了一些输入域,站点将硬重新加载(以显示一些附加信息),并同时终止我的内容脚本。
在我的Chrome扩展中,我有一个解决方法:
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中重新加载(例如,从后台脚本)?(并再次重新加载我的内容脚本)
发布于 2020-11-04 14:50:07
这可能是答案,因为它是有效的:)
// CHROME Version
if (tab.url.includes(tabURL) && changeInfo.title && changeInfo.title.includes(tabURL)
// FIREFOX VERSION
|| tab.url.includes(tabURL) && changeInfo.status === 'complete') https://stackoverflow.com/questions/64422561
复制相似问题