あなたが何をしようとしているのかわからないので、ここに2つの異なるアプローチがあります。
ページのドキュメント要素にアクセスする必要がある場合は、簡素化してpage-mod
.
タブ内のページに A 要素を作成する方法は次のとおりです。
var { getTabs, getTabContentWindow } = require('sdk/tabs/utils');
function listTabs1() {
var tabs = getTabs();
tabs.forEach(function (tab) {
// Fake a newly created document
var window = getTabContentWindow(tab);
var document = window.document;
var tab_url = document.createElement('a');
tab_url.setAttribute("href", tab.url);
});
}
page-mod
上記のコードの代わりに、このページの変更を行うためにa を使用することをお勧めします。
ただし、各タブのホストを調べたいだけの場合は、以前と同じようにそれらをループしてから、URL
モジュールを使用して難しいホスト名の解析を行うことができます。
var URL = require('sdk/url').URL;
var tabs = require("sdk/tabs");
function listTabs2() {
tabs.forEach(function (tab) {
var url = URL(tab.url);
console.log(url.hostname);
});
}
最後のヒントとしてnsIEffectiveTLDService
、URL の解析はすべてエラーが発生しやすいため、 を使用して、自分が持っていると思われるホスト名のトップ レベル ドメインを見つけるモジュールを簡単に作成できるということです。 https://developer.mozilla.org/en-US/docs/XPCOM_Interface_Reference/nsIEffectiveTLDService
幸運を!