0
我想創建一個Chrome擴展,在後臺訪問一個網站,從加載的頁面獲取一個元素,然後根據該元素更改徽章文本。在Chrome擴展中獲取阿賈克斯加載的元素
到目前爲止,我有這background.js:
function updateIcon(text) {
chrome.browserAction.setBadgeText({"text": text});
}
chrome.browserAction.onClicked.addListener(function() {
$.get(link, function(data) {
myText = $(data).filter("#myElement").html()
updateIcon(myText);
});
});
這完美的作品我的test.html頁:
<html>
<button id="myElement">Test</button>
</html>
但正如我最近發現,它之所以在我打算使用它的頁面上不起作用是因爲「myElement」通過ajax加載,並且不在頁面加載的dom中。即使通過ajax進行加載,是否有任何獲取該元素的方法?現在我的代碼返回一個「未定義」的值。
您需要將頁面加載到iframe或非活動選項卡中,並讓內容腳本訪問其DOM。或者,您可以嘗試檢查站點代碼並手動重現其AJAX請求。 – wOxxOm
謝謝你的回答。我成功複製了該網站的AJAX請求。 – Pred