2013-02-09 27 views
5

W popup.js używam następującego kodu, aby wyświetlić cały tekst w obrębie określonego identyfikatora div bieżącej karty - i wyświetlić alert. Zastanawiam się, w jaki sposób można zapisać tekst div do zmiennej w popup.js?Wartość zwracana z chrome.tabs.executeScript

chrome.tabs.executeScript(null,code:"alert(document.getElementById(\"DIVid\").innerText.split(' '))"}); 

Powyższe prace w porządku, ale gdy próbuję to:

var getText = chrome.tabs.executeScript(null,code:"document.getElementById(\"DIVid\").innerText.split(' ')"}); 

lub

var getText = chrome.tabs.executeScript(null,code:"document.getElementById(\"DIVid\").innerText.split(' ')"},function(response){return response}); 

Nic nie jest zapisane. Oczywiście podchodzę do tego w niewłaściwy sposób. Co ja robię źle?

Odpowiedz

7

użyć następującego kodu,

var getText = Array(); 
chrome.tabs.executeScript(tabs[tab].id, { 
    "code": "document.getElementById(\"_Your_ID_Here_\").innerText.split(' ')" 
}, function (result) { 
    for (i = 0; i < result[0].length; i++) 
    getText [i] = result[0][i]; 
    console.log(getText); 
}); 

Masz aktualizacji zmiennej wewnątrz zwrotnego, ponieważ z asynchronicznym charakter chrome.api