我已经对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);
谢谢Xan
答案 0 :(得分:1)
当您在控制台中执行此代码时,您可以在页面的上下文中执行它。
当您将其作为内容脚本执行时,它在isolated context中执行,无法访问页面定义的处理程序。没有错误,因为它是一个有效的调用并触发您注册的(不存在的)处理程序。
考虑将代码注入页面的上下文,如described here。