首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用mozrepl将代码注入页面?

如何使用mozrepl将代码注入页面?
EN

Stack Overflow用户
提问于 2011-07-16 16:58:01
回答 2查看 1.1K关注 0票数 2

我正在尝试使用mozrepl向页面注入额外的脚本。

如果我手动运行这些操作,jQuery将被成功加载,并可在以后使用它

代码语言:javascript
复制
> content.location.url = "..."
> repl.enter(content)
> var s=document.createElement('script')
> s.src='http://code.jquery.com/jquery-1.6.1.min.js'
> document.body.appendChild(s)
> [...more actions using jQuery's $ follow...]

现在,我正尝试将所有这些操作放入一个函数中,以便稍后加载到mozrepl中。但它不起作用。看起来这和切换上下文有关,但我不确定。

有没有人能告诉我,哪里出了问题,怎么解决?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-17 04:31:40

经过一些试验和阅读XUL文档后,我得出了以下结论:

代码语言:javascript
复制
function on_page(url, func) {
    var browser;

    var on_page_load = function(aEvent) {
        var doc = aEvent.originalTarget;

        if (doc.location.href == content.location.href) {
            browser.removeEventListener("load", on_page_load, true);
            func.call(content);
        }
    };

    var goto_page = function() {
        browser = document.getElementById("appcontent"); // browser
        browser.addEventListener("load", on_page_load, true);
        content.location.href = url;
    };

    goto_page();
}
票数 0
EN

Stack Overflow用户

发布于 2011-07-16 17:33:25

我没有使用mozrepl,但我希望该环境的工作方式与其他用户代理类似。您必须为脚本的下载和执行留出时间,您不能期望它立即出现在DOM中。

当这种情况发生时,函数不会停止执行,并且没有事件可以告诉您何时发生。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6716388

复制
相关文章

相似问题

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