0

在我的 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.");
    }
}
4

1 回答 1

1

我在这里猜测,但也许您需要访问正确的文档?

var thislabel = mywindow.document.getElementById("mylabel");

// alert something if the element was found
thislabel !== null && alert('found');
于 2012-12-01T16:49:47.923 回答