0

我正在编写一个 FF 插件,当在 iframe 中加载特定的 url 时,我拦截请求并加载我自己的内容,而不是通过重定向到数据 URI 并将内容脚本附加到拦截的 iframe。这在每个版本的 FF 上都非常有效,除了 nightly 启用 e10s(它适用于禁用 e10s)。在带有 e10s 的 FF nightly 中,帧被截获,但内容脚本不附加(它确实附加到未截获的数据 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));
    }
}

这里是我使用page modFF 的插件 sdk 附加我的内容脚本的地方:

pageMod.PageMod({
    include: ["data:*"],
    contentScriptFile: [data.url("myScript.js")],
    contentScriptWhen: "ready",
    attachTo: ["frame"],
    onAttach: function(worker){
        console.log("Attached"); //doesn't run with e10s
    }
});
4

0 回答 0