簡體   English   中英

在XUL中,我如何知道瀏覽器標簽已完成加載?

[英]In XUL, how do I know a browser-tag has finished loading?

我正在基於本教程開發一個Firefox 2.0擴展的firefox擴展( 本教程的第二部分在此url

最重要的是它使用

<iframe id="contentview" src="http://www.ibm.com/developerworks/web" flex="2"/>

在后端代碼中,單擊“執行”按鈕時,會發生以下情況:

contentview.contentDocument.location.href = urlbox.value;

//Use Firefox XPath to get the raw text of the document
var doctext = contentview.contentDocument.evaluate(
    "string(.)", document, null, XPathResult.STRING_TYPE, null).stringValue;

xpath出現錯誤,但這不是我的問題。 我對FF 3.0的問題是contentDocument值是指加載的舊站點,而不是href-change加載的站點。

所以我的問題是:我如何創建一個類似的窗口,但是在加載的文檔完成后會收到通知,以便我可以訪問其DOM?

更新:首先需要處理窗口的加載事件,然后將事件偵聽器添加到iframe元素

window.addEventListener("load",Listen,false);
function Listen()
{
  var frame = document.getElementById("contentview");
  frame.addEventListener("DOMContentLoaded", DomLoadedEventHandler, true);          
}

    function DomLoadedEventHandler() {
    var frame = document.getElementById("contentview");
    alert(frame.contentDocument.location.href);
    }

用事件處理程序名稱替換“ DomLoadedEventHandler”。

我建議您看一下Mozilla的官方網站,以了解有關Firefox擴展的所有信息

http://developer.mozilla.com

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM