我为Greasemonkey编写代码,我有一个没有src
的iframe,我在其中添加了这样的代码:
var appendToHead = function(iframe, content) {
var doc = iframe[0].contentWindow.document;
var element = doc.createElement('script');
element.type = 'text/javascript';
element.text = content;
doc.head.appendChild(element);
};
我在Firebug中看到该功能已添加到iframe中。但是当我试图得到它们时,EG
frames[0].contentWindow.functionName
我得到undefined
并仍然在调试器中看到它们。
在我使用Greasemonkey之前,这种方法效果很好。如何调用这些函数?
答案 0 :(得分:1)
请参阅How do I access an iframe's javascript from a userscript。
您可以调用类似:frames[0].functionName();
的函数,但必须来自注入的代码,而不是Greasemonkey脚本范围。 (在某些情况下,@grant none
可能工作除外。)
您可能还需要延迟,具体取决于。发布您正在做的事情的完整工作示例。