2011-07-16 10 views
2

私はmozreplを使ってページに追加のスクリプトを挿入しようとしています。mozreplを使ってページにコードを挿入するには?

私は手動でのjQueryが正常にロードされていると私は今、私は後でmozreplにロードする機能にすべてのこれらのアクションを入れしようとしている後で

> content.location.url = "..." 
> repl.enter(content) 
> var s=document.createElement('script') 
> s.src='http://code.jquery.com/jquery-1.6.1.min.js' 
> document.body.appendChild(s) 
> [...more actions using jQuery's $ follow...] 

それを使用することができ、これらのアクションを実行する場合。そして、それは動作しません。コンテキストを切り替えることと関係しているように見えますが、わかりません。

誰かが私に啓発できますか、何がうまくいかず、それを修正する方法はありますか?

答えて

0

とXULのマニュアルを読んで、私はこの思い付いた:

function on_page(url, func) { 
    var browser; 

    var on_page_load = function(aEvent) { 
     var doc = aEvent.originalTarget; 

     if (doc.location.href == content.location.href) { 
      browser.removeEventListener("load", on_page_load, true); 
      func.call(content); 
     } 
    }; 

    var goto_page = function() { 
     browser = document.getElementById("appcontent"); // browser 
     browser.addEventListener("load", on_page_load, true); 
     content.location.href = url; 
    }; 

    goto_page(); 
} 
1

私はmozreplを使用していませんが、他のユーザエージェントと同じように環境が動作することを期待しています。スクリプトをダウンロードして実行する時間を許す必要がありますが、DOMに即座に入ることは期待できません。

この機能は実行中に停止することはなく、発生時に通知するイベントはありません。いくつかの試行後

+0

あなたは正しい見える、それは間違いなくタイミングと関係しています。私はcontent.addEventListener( 'load'、inject_jquery、true)を使ってみました。しかし、成功しないと... –

+0

HTML 4では、body要素とframe要素だけがonload属性を持っています。 HTML5では、すべてのDOM要素にloadプロパティがありますが、しばらくの間、現在のHTML5が完全に実装されているとは思いません。 – RobG

+0

コンテンツを追加するイベントリスナーは、ページの読み込み中に変更されたため動作しませんでした。少なくとも、リスナーをXULのアプリケーションに追加することは機能します。 –

関連する問題