javascript - 从 overlay.js firefox 插件获取 HEAD 元素

标签 javascript firefox plugins element head

我有一个 firefox 的 lightwiehgt 插件,它需要将脚本注入(inject) 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] 返回 'undefined',检查 document.getElementsByTagName("head").length 是0.

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

有人有什么想法吗? 谢谢!

最佳答案

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

    var doc = frame.contentWindow.document;

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

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

希望对您有所帮助。

关于javascript - 从 overlay.js firefox 插件获取 HEAD 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1906641/

相关文章:

android - 删除 cordova 插件时出错

php - joomla 扩展安装错误

eclipse - java 已启动但返回退出代码 = -805306369

javascript - 如何在 ctrl 空格键上调用 jquery 自动完成功能?

JavaScript 将数组推送到类原型(prototype)问题

javascript - 'class'实例创建时的回调

javascript - 根据单元格值在 3 种不同的背景颜色之间切换,但前提是另一个调用值不同于

c - linux 上的 places.sqlite 数据库在哪里?

火狐用户界面库

javascript - 如何仅在 Firefox 上显示/隐藏 jquery 脚本