0

从上一个会话加载选项卡时,Firefox 浏览器元素不返回页面标题。我使用的代码:

var browsers = gBrowser.browsers;
for (var i = 0, len = browsers.length; i < len; i++) {
    dump('page title #1: ' + browsers[i].contentTitle + '\n'); // here I get no title
    dump('page title #2: ' + browsers[i].contentDocument.title + '\n'); // nothing here
    dump('url: ' + browsers[i].contentDocument.location + '\n'); // url is fully loaded here 
}

所以问题是:我如何获得页面标题?当我激活选项卡时,页面开始加载。但是页面标题会在浏览器启动后立即显示在选项卡列表中。

4

1 回答 1

1

问题是页面确实没有恢复。选项卡已about:blank加载到其中,真正的页面仅在用户转到选项卡时才开始加载。所以contentDocument.title不能有任何有意义的价值。

您显然想要的是选项卡上显示的标题 - 它不反映加载到选项卡中的内容,而是从上一个会话中记住的内容。所以你实际上应该得到标签标题,像这样:

var tabs = gBrowser.tabs;
for (var i = 0, len = tabs.length; i < len; i++) {
    dump('page title: ' + tabs[i].label + '\n');
}
于 2012-10-08T11:02:27.423 回答