2016-06-15 10 views
1

GWTのHTMLコードに基づいてページを作成したいと思います。このコードにはいくつかのjsコード があり、Stringオブジェクトから作成されています。JSをGWTに表示する

@UiField 
    HTML htmlCont; 

をし、コンテンツにHTMLの文字列を置く: は、私は私のウィジェットでHTMLオブジェクトを作成

htmlCont.setHTML(htmlCode); 

それは一般的に動作しますが、JSコードが解釈されていないと私はしようとすると、何かを置きますこのような :

:私のブラウザで

<p>Click the button to display an alert box:</p> 

<button onclick="clickFun()">Try it</button> 

<script> 
function clickFun() { 
    alert("I am an alert box!"); 
} 
</script> 

私はエラーを取得します0

未知ReferenceError:clickFunが定義されていません

私は間違っていますか?

答えて

1

HTML要素のJavascriptコードを追加することはできません。実行可能にはなりません。

はJavascriptを追加するScriptInjectorを使用します。

String scriptBody = "var foo = ..."; 
ScriptInjector.fromString(scriptBody).inject(); 

理想的には、ウィジェットや要素を自分で作成して、ハンドラを添付したりJSNIを使用するようにGWTのメソッドを使用する必要があります。

+0

ありがとうございます。 ScriptInjectorをどこで使用する必要があるのか​​説明できますか? JSNIのネイティブメソッドを使用しようとする前に、コードが異なる可能性があり、1つ以上のメソッドがある可能性があります。 –

+0

@ M.S。とにかくこれをやっている理由は何ですか? – Baz

+0

私はjs(何かのようなもの:http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_regexp_test2)でいくつかのhtmlコードをテストしたいと思います。そして、このコードはしばしば異なっています –

関連する問題