用JavaScript动态插入脚本
-
22-09-2019 - |
题
长话短说,我正在研究Google Chrome扩展名。默认情况下,扩展程序无法访问它们正在运行的页面范围(您需要通过DOM进行通信)。
我要做的就是将脚本插入页面;通过定义脚本标签和SRC属性来正常工作。
问题是该脚本需要事先初始化的变量。为了初始化此变量,我试图构建具有其代码内联脚本元素(而不是从外部源加载),但是我很难使其工作。
这是可能的,如果是这样,如何定义脚本内部的源?我尝试将包含JS源的文本节点附加到脚本元素上,但无济于事。
解决方案
它很糟糕,但是最好的方法可能是通过将数据注入DOM来传达您的数据: http://code.google.com/chrome/extensions/content_scripts.html#host-page-communication
您也许可以通过做类似的事情来实现这一目标:
var script = document.createElement('script');
script.type = 'text/javascript';
script.text = 'alert("It works!");';
document.head.appendChild(script);
我没有测试过,但是我猜它可以从您的内容脚本中使用。
不隶属于 StackOverflow