好的,我有 2 个 xul 窗口,
window_2
<label id="#label_id" value="button has been clicked!">
window_1
[button]---> clicked--> $("#label_id).attr("value","clicked again!");
我想在 xul 中按下按钮时更改window_2 window_1的样式(标签文本),我正在使用 jquery,但这似乎不起作用,我该如何解决这个问题?
你需要的是
获取另一个窗口的窗口对象。我可以想到一些快速的方法:
创建一个模块并使用它来共享每个窗口的窗口对象:
MyWindowModule.jsm
const EXPORTED_SYMBOLS = ["MyWindowModule"]; var MyWindowModule = { window1: null, window2: null }
窗口1.js
Components.utils.import("resource://myextension/modules/MyWindowModule.jsm"); MyWindowModule.window1 = window;
窗口2.js
Components.utils.import("resource://myextension/modules/MyWindowModule.jsm"); MyWindowModule.window2 = window;
然后,您可以在窗口1中使用:
MyWindowModule.window2.$("#label_id).attr("value","clicked again!");
- 使用 nsIWindowMediator 查找其他窗口或窗口之间的其他通信方法