terax 发表于 2013-2-7 04:19:28

windows in Firefox

firefox浏览器是window/document模式,window负责窗口的操作(开关,大小,拖拉.....)而document就是html/xml在内存中的映射。

firefox中windows有3个典型


[*]Top window,通过它能访问工具栏,状态栏
[*]tab window,也叫做browser,对应每个不同的tabtab window,也叫做browser,对应每个不同的tab
[*]Frame window,每个frame都有一个window来装载


访问3种窗口的方法

[*]Top windowvar 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 windowvar tabbrowser = window.gBrowser;
      var numTabs = tabbrowser.browsers.length;
    for (var index = 0; index < numTabs; index++) {
            tabbrowser.getBrowserAtIndex(index).contentWindow;
       }
[*]Frame windowvar frames = window.frames;
    for (var i = 0; i < frames.length; i++) {
      frames;
    }
页: [1]
查看完整版本: windows in Firefox