2013-06-27 59 views
6

我想寫一個chrome擴展,它不僅列出了歷史中訪問的網址,還引用了網址。例如,如果我點擊Google上的維基百科,它應該說「維基百科:由谷歌引用」。Chrome.History獲取引薦網址(JS)

我最初的嘗試是爲有問題的URL提取HistoryItem,提取其最近的VisitItem,然後使用referVisitId來追蹤最初的URL,但是這是我卡住的地方。我的問題歸結爲不瞭解referVisitId的含義。它是打開新頁面的歷史記錄的ID嗎?它是由URL點擊發起的VisitItem的ID嗎?該文件指出,這是「推薦人的訪問ID」,但這仍然讓我感到困惑。

1)referVisitId的含義是什麼?

2)我可以使用referVisitId來追蹤引薦網址嗎?如果是這樣,怎麼樣?

謝謝你的時間!

+0

如果您只想使用引用URL,只需使用'document.referrer'。 – Doorknob

+0

@ Doorknob如果始發協議是https並且目標協議是http,或者如果被單擊的鏈接具有'rel =「noreferrer」'屬性集,那麼這不起作用。 –

+0

這可以用來獲取訪問者當前正在訪問的頁面的引用URL,但是如果我試圖解析整個歷史,是否可以使用它? – Sergiy

回答

1
  1. referringVisitId似乎是導致當前VisitItem的VistItem的ID。

  2. 它看起來像是不可能使用它的ID來查詢VisitItem。或者嘗試獲取VisitItem所屬的HistoryItem。

下一個最好的事情是使用onCreatedonUpdated事件一起,試圖追蹤最後一個選項卡的用戶在嘗試。

這也有它的缺陷不過,如果一個新的選項卡當您在另一個選項卡中時使用window.open打開,您會得到錯誤的推薦鏈接。除非您試圖攔截所有致電window.open的電話。

TL; DR:獲取打開當前選項卡的選項卡並不容易。