我正在开发一个镀铬扩展,并遇到了一个大问题.
我正在使用内容脚本在网站上注入我的javascript代码.该网站有一个iframe.我可以更改iframe的源代码,但似乎无法访问iframe的contentWindow属性.我需要它在当前的carret位置插入文本.
所以基本上这个代码在页面的上下文中完美地工作:
$("#iframe1").contentWindow.document.execCommand("InsertHTML", false, 'test text');
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试在我的chrome扩展程序的上下文中运行时,我收到此错误:
TypeError: Cannot read property 'document' of undefined
Run Code Online (Sandbox Code Playgroud)
奇怪的是,我可以访问iframe的html.所以这段代码完全可以从chrome扩展程序中运行:
$("#iframe1").contents().find('div').html('test')
Run Code Online (Sandbox Code Playgroud)
我尝试在清单文件中放入"all_frames":true但没有运气:(
我想只将内容脚本部署到用户想要部署到的站点.我有这个站点列表,我想只将一些script.js部署到这些站点.