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 に答える