2012-03-12 4 views
0

現在のコンテンツページhtmlを取得できません。私はxul要素のスクリプトからアクセスしようとしています。現在開いているURLではありません。XULからコンテンツページを取得するには?

私はこのコードを使用します。

alert(document.getElementById("html")); 

それはヌル値、文書のリターンXULオブジェクトではなく、HTMLオブジェクトに警告します。 現在のコンテンツページを解析する必要がありますが、それを行う方法はわかりません。

var mainWindow = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor) 
       .getInterface(Components.interfaces.nsIWebNavigation) 
       .QueryInterface(Components.interfaces.nsIDocShellTreeItem) 
       .rootTreeItem 
       .QueryInterface(Components.interfaces.nsIInterfaceRequestor) 
       .getInterface(Components.interfaces.nsIDOMWindow); 

    alert(mainWindow.getBrowser().selectedBrowser.contentWindow.location.href); 
    alert(mainWindow.getBrowser().selectedBrowser.contentWindow.document); 

このコードを使用すると、アラートは表示されません。

答えて

1
var win = Components.classes["@mozilla.org/appshell/window-mediator;1"] 
      .getService(Components.interfaces.nsIWindowMediator) 
      .getMostRecentWindow("navigator:browser"); 

win.alert(win.getBrowser().selectedBrowser.contentWindow.location.href); 

あなたはwindowコンテキストからこのコードを実行する場合は、あなただけの最初の部分を削除して持つことができます。

alert(window.getBrowser().selectedBrowser.contentWindow.location.href); 
1

は単に例えば、documentcontentを使用します。

alert(content.document.getElementById("html")); 



achieveになります。

alert(content.document.getElementsByTagName("html")[0].innerHTML); 
関連する問題