我正在开发一个firefox附加组件,我想注入一个覆盖confirm()的javascript函数。该帧是触发confirm()函数的帧,我希望能够始终返回true。
我试过这个:
var spt = document.createElement("script");
spt.innerHTML = "window.frames['the_frame'].window.confirm = function(msg, cb){return true;};";
window.content.document.head.appendChild(spt);
此代码位于我的扩展程序的“onclick”事件中的一个函数内(它是一个工具栏,位于浏览器的页脚上)。
但是这样,似乎在浏览器的控制台上工作,但是当我点击按钮时,注入工作,但confirm()函数没有被覆盖。
任何人都可以提供帮助?还有其他想法吗? 谢谢!
答案 0 :(得分:1)
谁来这里得到答案,我发现了如何做到这一点:
//Initialize the window content
var doc = window.content.document;
//Create a script element
var spt = doc.createElement("script");
//Add a script overriding the confirm ON the frame
spt.innerHTML = "window.frames['the_frame'].confirm = function(msg){return true;};";
//Inject javascript
window.content.document.head.appendChild(spt);
在顶部窗口中注入脚本创建元素。 这对我有用!