firefox浏览器是window/document模式,window负责窗口的操作(开关,大小,拖拉.....)而document就是html/xml在内存中的映射。
firefox中windows有3个典型
[list]
[*]Top window,通过它能访问工具栏,状态栏
[*]tab window,也叫做browser,对应每个不同的tabtab window,也叫做browser,对应每个不同的tab
[*]Frame window,每个frame都有一个window来装载
[/list]
访问3种窗口的方法
[list]
[*]Top window
var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator);
var e = wm.getEnumerator("navigator:browser");
var window;
while (e.hasMoreElements()) {
window = e.getNext();
}
[*]Tab window
var tabbrowser = window.gBrowser;
var numTabs = tabbrowser.browsers.length;
for (var index = 0; index < numTabs; index++) {
tabbrowser.getBrowserAtIndex(index).contentWindow;
}
[*]Frame window
var frames = window.frames;
for (var i = 0; i < frames.length; i++) {
frames[i];
}
[/list]
firefox中windows有3个典型
[list]
[*]Top window,通过它能访问工具栏,状态栏
[*]tab window,也叫做browser,对应每个不同的tabtab window,也叫做browser,对应每个不同的tab
[*]Frame window,每个frame都有一个window来装载
[/list]
访问3种窗口的方法
[list]
[*]Top window
var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator);
var e = wm.getEnumerator("navigator:browser");
var window;
while (e.hasMoreElements()) {
window = e.getNext();
}
[*]Tab window
var tabbrowser = window.gBrowser;
var numTabs = tabbrowser.browsers.length;
for (var index = 0; index < numTabs; index++) {
tabbrowser.getBrowserAtIndex(index).contentWindow;
}
[*]Frame window
var frames = window.frames;
for (var i = 0; i < frames.length; i++) {
frames[i];
}
[/list]