2012-01-12 67 views
0

我試圖獲取當前選定文本的DOM節點。我正在構建一個Chrome擴展,並試圖從背景文件中這樣做。我知道我可以得到使用的選擇:遍歷所選文本中的網站文檔

chrome.tabs.executeScript(tab.id, {code:  
'chrome.extension.onRequest.addListener(function(request, sender, sendResponse) 
{if (request.method == "getSelection") 
    sendResponse({data:window.getSelection().toString()}); 
else sendResponse({});});' 
});" 

chrome.tabs.sendRequest(tab.id, {method: "getSelection"}, function(response){      
    return respose.data; 
}); 

但我不知道如何獲得節點(遍歷)。

任何想法?

感謝

回答

1

您可以在內容腳本執行更多的代碼來獲取節點,我懷疑你知道這一點,但這裏有一個鏈接到這個問題:How can I get the DOM element which contains the current selection?

但請注意,你不能發送該節點回到後臺頁面並讓後臺頁面遍歷節點或查看它。它無法訪問選項卡中的DOM,它只能接收消息(將其序列化爲文本)。因此,無論您需要在節點上做什麼工作,都需要在內容腳本中完成。