我正在構建一個firefox擴展,它創建了幾個隱藏的瀏覽器元素。Firefox onLocationChange並不總是叫
我想addProgressListener()
來處理onLocationChange爲我加載的頁面。但是,我的處理程序並不總是被調用。
更具體地說,這裏是我在做什麼:
- 創建一個瀏覽器元件,而不設置其
src
財產 - 其附加到另一個元素
- 添加進度監聽器監聽
onLocationChange
到瀏覽器元素 - 致電
loadURIWithFlags()
加上所需的網址和發佈數據
我希望處理程序在每次4之後都被調用,但有時它不會(儘管它似乎卡在相同的頁面上)。
有趣的是,如果我將3和4包裝在setTimeout(..., 5000);
中,它每次都有效。
我也試過洗牌一些步驟,但沒有任何效果。
大圖:我希望在瀏覽器的contentDocument
是新加載的頁面(重定向之後)時得到可靠的通知。有一個更好的方法嗎?
更新:因爲我已經打開了Mozilla的bug跟蹤系統中的錯誤與出現這些行爲,如果有人想細看最小的XULRunner應用程序:https://bugzilla.mozilla.org/show_bug.cgi?id=941414
我們可以得到一些代碼/小提琴嗎?你如何設置你的聽衆? – Cracker0dks
@ Cracker0dks有一個最小的xulrunner應用程序附加到bug:https://bugzilla.mozilla.org/show_bug.cgi?id=941414 –
我意識到這是一個簡化的測試用例,但是你想完成什麼?爲什麼使用onLocationChange而不是簡單的加載監聽器?爲什麼一個而不是一個