2012-04-05 9 views
0

特定のJavaScriptを使用してWebサーバーに接続しています。 (HttpURLConnection atmの使用) 私はJavaScript関数を操作することを可能にする接続が必要です。 その後、JavaScript全体をもう一度実行したいと思います。Javaを使用してJavaScriptを操作します。

私は返すために、常に以下の機能が欲しい「新FlashSocketBackendを()」

function createBackend() { 
    if (flashSocketsWork) { 
     return new FlashSocketBackend() 
    } else { 
     return new COMETBackend() 
    } 
} 

私はこのためHtmlUnit使用する必要がありますか? スクリプトを接続、操作、再実行する最も簡単な方法は何ですか?

ありがとうございました。

+0

あなたは "JavaScriptの機能を操作する" ためにはどういう意味?そのブラウザがJavaScriptコードをサーバーに送信したい、または接続後にサーバーがクライアント上でjavascript関数を呼び出すことができますか? – dash1e

+0

私はこれが意味をなさないとは確信していません。 HttpURLConnectionはJavaクラスです。 JavaScriptとJavaScriptの間には本質的な関係はありません。たぶんあなたの質問を言い換えてみてください。 –

+0

さて、後でサーバーから呼び出される関数を変更したいと思います。 – Tom

答えて

0

HtmlUnitでは実際に行うことができます。

既存のJS関数を操作することはできませんが、既存のページで希望のJavaScriptコードを実行できます。

例:

WebClient htmlunit = new WebClient(); 
HtmlPage page = htmlunit.getPage("http://www.google.com"); 
page = page.executeJavaScript("<JS code here>").getNewPage(); 

//manipulate the JS code and re-excute 
page = page.executeJavaScript("<manipulated JS code here>").getNewPage(); 

//manipulate the JS code and re-excute 
page = page.executeJavaScript("<manipulated JS code here>").getNewPage(); 

より: http://www.aviyehuda.com/2011/05/htmlunit-a-quick-introduction/

0

あなたのベストショットは、おそらくRhinoです - オープンソースのJavaScriptの実装は完全にJavaで書かれています。 window.locationとあなたのページを読み込み、うまくいけばあなたのJavaScript機能を実行している。私はいつかBringing the Browser to the Serverの前に読んで、可能と思われました。

関連する問題