使用Javascript动态插入脚本

时间:2010-02-24 05:30:32

标签: javascript google-chrome-extension

长话短说我正在开发Google Chrome扩展程序。扩展程序默认情况下无法访问它们正在操作的页面范围内的变量(您需要通过DOM进行通信)。

我要做的是在页面中插入一个脚本;这可以通过定义脚本标记和src属性来正常工作。

问题是这个脚本需要事先初始化一个变量。为了初始化这个变量,我正在尝试构建一个脚本元素,其代码是内联的(而不是从外部源加载),但是我无法让它工作。

这是否可行,如果可行,如何在脚本中定义源?我已经尝试将包含JS源的文本节点附加到脚本元素但无济于事。

1 个答案:

答案 0 :(得分:1)

这很糟糕,但最好的方法是通过将数据注入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);

我没有对此进行过测试,但我猜它可以在您的内容脚本中使用。