我有一个简单的Chrome扩展程序,它将content_script注入到某些网址中找到的网页中。我试图使用注入的JS来调用已经在原始页面的框架内定义的函数(以捎带其功能)。
我已经尝试过使用window.frames['framename'].functionname('arg');
,但这似乎不适用于注入,但如果我直接进入控制台,它会起作用。同样,尝试直接调用functionname()
似乎不起作用。我知道javascript本身是注入的,因为一旦页面被加载,我就能够将myscript.js设置为alert("test");
,它可以正常工作,但是如果我试图调用这些函数,我要么“未定义”或“未定义”一个函数“控制台中的错误。看着控制台,似乎['framename']和('arg')正在被javascript消毒。
我一直在寻找一段时间试图找到解决这个问题的方法,但没有任何运气。有什么想法吗?
清单
{
// Required
"manifest_version": 2,
"name": "My Extension",
"version": "0.1",
"content_scripts": [
{
"matches": ["URL"],
"js": ["myscript.js"],
"run_at": "document_end",
"all_frames": true
}]
}
编辑:解决方法1:Insert code into the page context using a content script
对于重复内容感到抱歉。