我正在写一个FF插件,当在iframe中加载特定网址时,我会拦截请求并加载我自己的内容,而不是重定向到数据URI并将内容脚本附加到截获的iframe。这在每个版本的FF上都非常出色,除了夜间启用了e10s(适用于禁用e10s)。在每晚使用e10s的FF中,框架被拦截,但内容脚本没有附加(它附加到非拦截数据uri iframe)。
关于为何不使用e10s的任何想法?
这是我的拦截代码:
function requestListener(event){
event.subject.QueryInterface(Ci.nsIHttpChannel);
let url = event.subject.URI.spec;
if(url == particularURL) {
event.subject.redirectTo(Services.io.newURI("data:text/html,CONTENT",null, null));
}
}
在这里,我使用来自FF的插件的page mod
附加我的内容脚本:
pageMod.PageMod({
include: ["data:*"],
contentScriptFile: [data.url("myScript.js")],
contentScriptWhen: "ready",
attachTo: ["frame"],
onAttach: function(worker){
console.log("Attached"); //doesn't run with e10s
}
});