我正在開發一個瀏覽器擴展,當一個新的google即時頁面被提供時需要撥打電話,然後修改結果(想想SEOQuake)。如何檢測到新的Google即時頁面已被顯示?
問題:如果用戶將鏈接直接粘貼到url字段並按下回車鍵,將會發生新的頁面加載並且我的擴展將會運行。然而,即時谷歌,雖然網址改變,當你鍵入查詢,你技術上仍然在同一頁面上,所以擴展無法運行。
我看着SEOQuake的代碼,這似乎是他們是如何解決這個問題:
document.body.addEventListener("DOMNodeInserted", sq_bindAsEventListener(this, function(event) { //
這是一個很好的解決方案,但這不是非常適合我,因爲據我所知,DomNodeInserted不支持IE 9以下版本(驚喜!)
我捆綁jQuery與應用程序,所以我有權訪問所有的jQuery功能。我正在考慮使用.keypress(),只是等到第二秒沒有輸入 - 如果它是谷歌即時,我會知道頁面已經改變。
我的另一個想法是監視URL是否被更改;我似乎無法找到任何jQuery或JavaScript函數,如果url已被更改跟蹤。
什麼是最好的方式知道谷歌即時搜索已執行?