3

我有一个用于 Firefox 的 lightwiehgt 插件,它需要将脚本注入 HTML。代码如下所示:

var head = document.getElementsByTagName("head")[0];
var newscrpt;       
newscrpt = document.createElement('script');
newscrpt.type = "text/javascript" ;
newscrpt.src = "http://blabla.com/...";
newscrpt = head.appendChild(newscrpt);

问题是document.getElementsByTagName("head")[0]返回“未定义”,检查document.getElementsByTagName("head").length为 0。

它当前在浏览器 document.onLoad 事件上执行,但我也尝试从中调用它window.setTimeout以确保加载同步没有问题,但同样的情况发生了。

任何人的任何想法?谢谢!

4

1 回答 1

0

如果您使用的是 aframeiframe对象,则不应document直接引用,而应执行以下操作:

    var doc = frame.contentWindow.document;

之后就可以拿到头了。我正在使用 jQuery 向其中添加一些资源:

    $(doc).find('head').append(
                '<link type="text/css" rel="stylesheet" href="MyStylesheet.css" />');

希望能帮助到你。

于 2011-11-14T13:00:11.013 回答