在我的代码中,我目前有一个内容脚本,它向后台脚本发送消息,并作为响应创建一个警报。这在访问https://www.google.com时适用于example.js和background.js。但是,当尝试在popup.js和我的内容脚本之间建立通信时,我收到错误消息
Could not establish connection. Receiving end does not exist.
我目前所拥有的是,一旦弹出菜单上的按钮被点击,我就会从popup.js发送一条消息。然后,应该从内容脚本example.js显示一条控制台消息,但它似乎甚至没有到达内容脚本的侦听器。这是代码,
popup.j
玩建立一个Chrome扩展。目前,我已经设置了一个上下文菜单项。当单击上下文菜单项时,它会在我的后台脚本context_menu.js中触发context_menu.js。
function itemClicked(info, tab) {
alert("clicked");
}
警报开火了。我也可以通过itemClicked()发送ajax请求。
但是,我不能向页面添加任何元素(或任何类型的DOM操作)。即使是像这样基本的东西也不起作用:
var d = document.createElement('div');
d.setAttribut
我目前正在开发一个chrome扩展程序,源代码是。目标是将自定义Javascript注入到网页中。
目前,我将每个自定义Javascript注入存储在localStorage中,并从内容启动调用它们。我让document_start.的run_at
我使用它,从后台脚本获得存储的注入:
chrome.extension.sendMessage({method:"get_injects"},function(injects){
for(index in injects){
if(/^items\./.test(index)){
it
简单地说,我的问题是:gtag.js操作的gtag.js对象和我的react上下文中可用的window对象( content.js上下文)是不同的对象,所以我不能从我的react代码中编写事件--这意味着我不能在扩展中使用分析。
更多的deets:
在react中,<script>标记不能直接为加载。因此,我已经更改了文档实现:
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?i