在我的firefox插件中,我有一个非模态窗口,在用户浏览时保持打开状态。插件也有一个工具栏。当在工具栏上按下按钮时,会调用一个函数来设置窗口中某些属性的值。
现在,在我的代码中,我可以调用该函数,但窗口永远不会改变。
但是,我使用onload
侦听器调用相同的函数,并且在那里工作正常。我在函数中放了一个alert
,它会被调用,但是更改永远不会显示在窗口中。
如何确保更改显示在我的窗口上?以下是我的一些示例代码:
var windowManager = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator);
var mywindow = windowManager.getMostRecentWindow('mywindow');
if (mywindow) {
alert("found it!");
var thislabel = document.getElementById("mylabel");
thislabel.setAttribute("label", "New Text");
} else {
alert("The window is not open.");
}
}
答案 0 :(得分:1)
我在这里猜测,但也许您需要访问正确的文档?
var thislabel = mywindow.document.getElementById("mylabel");
// alert something if the element was found
thislabel !== null && alert('found');