2

現在 Chrome 拡張機能を開発中で、ポップアップ ウィンドウの URL を文字列変数に格納したいと考えています。document.createElement"およびメソッドを介して URL を取得できますvariable.appendChildが、文字列に保存することはできません。

これは機能します:

    function getLinks(){
  var url = document.createElement("p");

  chrome.tabs.query({windowType:"popup"}, function (tab){
    for(x in tab){
       var adresse= document.createTextNode(tab[x].url);
       url.appendChild(adresse);
    }  
  });
  document.body.appendChild(url);
}

これは動作しません :

function getLinksbis(){
  var url = "1 - ";

  chrome.tabs.query({windowType:"popup"}, function (tab){
    for(x in tab){
       var adresse= tab[x].url;
       url = url + adresse;
    }  
  });
  document.write(url);
}

手伝って頂けますか ?私がやりたいことをすることは可能ですか?この URL にパラメーターを追加してから、ユーザーに送り返したいので、文字列に入れたいのです。

私の英語を許してください、私はフランス人です。;-)

ありがとう。

4

1 に答える 1

0

あなたのコードは機能しますが、あなたが持っていることを確認してください

{
  ..
  "permissions":["tabs"]
  ..
}

マニフェスト ファイルの tabs パーミッション。

テスト後の出力

ここに画像の説明を入力

編集1

function getLinksbis() {
    var url = "1 - ";

    chrome.tabs.query({
        windowType: "popup"
    }, function (tab) {
        for (x in tab) {
            var adresse = tab[x].url;
            url = url + adresse;
        }
        document.write(url);
    });

}

内部の非同期コールバックを移動しますdocument.write(url);。これは非同期関数であり、コールバックが成功した後に最終呼び出しを行う必要があります。

于 2013-01-17T09:33:57.220 に答える