2011-08-31 66 views
0

我正在寫一個擴展程序來修改我學校網站上的搜索結果,爲每個返回的結果添加更多信息。但是,當搜索頁面執行搜索並且搜索結果動態添加到頁面時,我的擴展名添加到頁面的元素將被刪除。Chrome擴展程序在回發後添加控件?

作爲一個簡單的調試,在搜索發生後,我在搜索按鈕旁邊添加了一個按鈕來單擊,但搜索行爲刪除了我的按鈕。

我沒有寫下我添加的頁面,學校在ASP.Net中寫道。

我的擴展在動態回發後如何影響搜索結果?

+0

我猜那些搜索結果添加到動態頁面(他們沒有出現在網頁的源文件)? – serg

+0

我認爲這是一個後期重新加載整個頁面的原因,因爲提交按鈕的onclick函數以(爲簡單起見截斷)'WebForm_DoPostBackWithOptions'開頭。我想它可能仍然是動態的,但是在那種情況下,爲什麼我的調試按鈕會被刪除? –

+0

查找的簡單方法是查看頁面源,並檢查搜索結果是否存在(這將決定如何處理它)。 – serg

回答

0

首先,您需要在頁面上找到與搜索結果關聯的某個元素,並指出搜索結果已準備好處理(可以說它是<div id="search-results">)。然後,你可以聽DOMSubtreeModified是越來越創建此元素時搭上:

var processed = false; 
document.addEventListener("DOMSubtreeModified", function(event){ 
     if(!processed && document.getElementById("search-results")) { 
       processed = true; 

       //process 
     } 
});