【问题标题】:Chrome extension - jquery closing modal popup windowChrome 扩展 - jquery 关闭模式弹出窗口
【发布时间】:2014-08-12 15:59:31
【问题描述】:

我为 chrome 做了一个扩展。它的目的是从弹出窗口中读取数据,将该数据存储到数据库中,然后关闭弹出窗口。一切正常,但我无法关闭弹出窗口。

我的计划是使用以下代码关闭弹出窗口:

$('a.tv-dialog-title-close').trigger('click'); 

如果我在 chrome 控制台中输入它,它会很好地关闭弹出窗口,但是当我在我的扩展程序中使用该确切代码时,弹出窗口不会关闭并且我没有收到任何错误(奇怪)。其他一切都按计划进行,但这一行代码不起作用。任何人,有什么想法吗?

谢谢

编辑:

解决了这个问题:

var scriptNode          = document.createElement ('script');
scriptNode.textContent  = "$('a.tv-dialog-title-close').trigger('click');";
document.body.appendChild (scriptNode); 

谢谢赞

【问题讨论】:

    标签: javascript jquery google-chrome google-chrome-extension popup


    【解决方案1】:

    当您在控制台中执行此代码时,您将在页面的上下文中执行它。

    当您将此作为内容脚本执行时,它会在isolated context 中执行,并且无法访问页面定义的处理程序。没有错误,因为它是一个有效的调用并触发了您注册的(不存在的)处理程序。

    考虑将您的代码注入页面上下文,如described here

    【讨论】:

    • 忘了提一下,这段代码是作为内容脚本执行的,所以它应该可以在不将代码注入原始网页的情况下工作。
    • 阅读我的链接以了解为什么它不会。
    • 我尝试将该代码注入网页,但没有得到任何好的结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-27
    相关资源
    最近更新 更多