2012-06-20 130 views
0

我正在製作Chrome擴展程序以獲取所有打開標籤的URL並將它們全部保存爲將它們發送到域。所以我需要2個步驟:獲取Chrome瀏覽器中所有打開的標籤的URL,並將其發送到Web服務

  1. 獲取所有打開的選項卡的URL並將它們存儲在一個數組或像 這樣的東西。
  2. 將所有網址的數組發送到域。
+2

你的問題是什麼? –

+0

我是通過投票來猜測我並不是唯一一個認爲這聽起來很狡猾的人...... –

+0

這個問題有一個答案,解釋瞭如何使用Javascript找到所有打開的選項卡網址:http://stackoverflow.com/問題/ 11915370 /正在檢索哪些標籤是在鉻中打開 –

回答

5

查看chrome.windows.getAll以獲取打開窗口的列表。每個窗口都有一個tabs屬性,其中包含窗口中的選項卡列表。每個選項卡都有一個url屬性。見tabs documentation

您需要遍歷窗口,然後遍歷每個窗口中的選項卡,然後將這些選項卡添加到您的陣列中,然後執行您想要執行的任何操作。

通常情況下,您不能這樣做,但具有必要權限的Chrome擴展可以執行Cross-Origin XMLHttpRequest。您需要將該列表發送到其他域。

您可以使用JSON.stringify將數組轉換爲您可以發送的字符串,然後在服務器端將類似的函數轉換回數組。

+0

使用'XMLHttpRequest'將URL列表發送到「域」。 –

+0

謝謝,更新我的回覆與該信息。 – sachleen

0

我正在考慮製作類似的東西。如果您有一個「框」,您可以在列表中拖放想要的URL,而不是所有打開的標籤。盒子上的一個按鈕,用於複製當前存儲到剪貼板的URL。

+1

這不是一個真正的答案。評論對於這種輸入是完美的。 – AntonNiklasson

相關問題