Google chrome extension 从注入的js运行函数
我一直在绕圈子,所以我希望能得到一些帮助 这就是我想要实现的目标Google chrome extension 从注入的js运行函数,google-chrome-extension,Google Chrome Extension,我一直在绕圈子,所以我希望能得到一些帮助 这就是我想要实现的目标 用户按下我的分机 弹出窗口显示两个按钮,“运行功能a”和“运行功能b” 当他们按下一个按钮时,它会在我自己的js文件中运行我已经注入的函数 例如,函数a可以是计算活动选项卡中特定类型的元素数 因此,我可以在页面加载时插入我的js文件(这在我的contentscript.js中) 这是可行的,我可以看到js被执行 但我能做的是在temp-file.js中运行一个函数 例如,在弹出窗口中,我有 chrome.tabs.executeS
chrome.tabs.executeScript(null, {code:"shows();"});
我发现:未捕获引用错误:未定义显示
如果我输入shows();在控制台中,它按预期工作
我认为这个问题与背景有关。我在popup.js页面中尝试了各种方法来注入文件,但似乎没有任何效果
有人能给我指一下正确的方向吗
谢谢
授予
我认为这个问题与背景有关
你说得对
文件“temp file.js”已经注入到主机页中,因此它现在是主机页上下文的一部分。扩展可能会搞乱它——因为它处于不同的上下文中
从注入的js运行函数
解决方案:
不确定你想要实现什么。选择适合你的:
你的问题并没有说明你到底想要实现什么 这就是我所理解的。您想在您的
popup.js
中的contentscript.js
上执行一个函数
如果是这样的话,那么你可以从
popup.js
调用contentscript
上的方法,就像这里提到的那样谢谢你的确认,我很感激。也谢谢Kousick Shanmugam Nagaraj,睡了一夜之后,你发送的链接有了一些意义。我有一个后续问题,我将作为一个新的职位,因为它不是直接相关的。谢谢,阿加尼我不明白你说的1是什么意思,但是2是一个正确的解决方案。你确实误解了这个问题。这已经是mozman2正在做的事情了——但是该方法不在内容脚本的上下文中。这需要一个额外的步骤。
chrome.tabs.executeScript(null, {code:"shows();"});