【发布时间】:2016-10-02 06:20:19
【问题描述】:
对于 Firefox,我有一个页面会在单击浏览器图标按钮后加载到新选项卡中。页面的后台脚本第一次运行良好,但在重新加载页面、在已打开选项卡的情况下再次单击按钮或关闭选项卡并打开另一个选项卡后无法正常运行。我必须重新保存强制卸载/重新加载扩展的脚本才能正确运行。 清单中是否有我需要包含的内容?
manifest.json
更新:我已将我的问题隔离到以下代码中。当刷新页面或再次单击浏览器操作按钮时,执行会到达并跳过 xhr.onreadystate = function(),因此永远不会到达 Main()。对于任何已请求/收到的内容,xhr.onreadystate 不会改变。
更新 2: 执行使三个中的一个传递到 Main()。从第一次运行开始,所有变量都保留了它们的值,并且似乎把事情搞砸了。重新加载页面或点击浏览器图标后如何清除它们?
function GetData(request)
{
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function()
{
console.log(xhr.readyState + " : " + xhr.status)
if (xhr.readyState == 4 && xhr.status == 200)
{
re_data = JSON.parse(xhr.responseText);
Main();
}
}
xhr.open("GET", request, true);
xhr.send();
}
【问题讨论】:
-
不,manifest.json 中的内容不应导致您所描述的内容。我们将需要一个 complete minimal reproducible example 来了解发生了什么(即包括您的 background.js 和 modify_page.js 文件,或者至少有足够多的人重复这个问题。
标签: javascript json xmlhttprequest firefox-addon manifest.json