2016-10-01 1 views
-1

に複数の値を取得します。クロームプラグイン、tabs.executeScriptから複数の要素の値を返す方法Chrome.tabs.executeScript

下記のコードでご提案ください。

chrome.tabs.executeScript(
     targetTab.id, 
     { 
      code: "var header = {'top':document.getElementsByClassName('top-card')[0].innerHTML;}" 
     }, 
     function (sourceCode) 
     { 
      myCode = sourceCode; 
      chrome.tabs.create({'url': chrome.extension.getURL('popup.html')}); 
     } 
    ); 

ここで私はクラス「トップカード」を得ています。私はまた、「フッタ」、「コンテンツ」という価値をもっとたくさんのクラスにしたいと思っています。

答えて

0

chrome.tabs.executeScriptは、単純なオブジェクト/配列を含む任意のJSON可能データを転送できます。

chrome.tabs.executeScript(targetTab.id, { 
    code: '(' + function() { 
     return { 
      top: document.querySelector('.top-card').innerHTML, 
      footer: document.querySelector('.footer').innerHTML, 
      content: document.querySelector('.content').innerHTML, 
     }; 
    } + ')()' 
}, function(data) { 
    var myCode = data[0]; // data is an array, item 0 is the main page, 1.. for frames 
    console.log(myCode.top, myCode.footer); 
}); 
関連する問題