2

GWTで書かれたアプリケーションでJavaScriptを実行したい。これは、通常のHTMLで機能するコードです。

<html>
  <head>
  </head>

  <body>
    <ul>
      <li></li>
      <li></li>
      <li></li>
      <li></li>
      <li></li>
    </ul>
    <script src="jquery.js"></script>
    <script src="jquery.roundabout.js"></script>
    <script>
      $(document).ready(function() {
          $('ul').roundabout();
      });
    </script>
  </body>
</html>

(と仮定jquery.jsjquery.roundabout.jsて、同じフォルダーにあります。)

私はsomePresenter(withsomeView.javasomeView.ui.xml)を持っていて、上記のコードをで動作させたいですsomeView.ui.xml

上記のコードをXMLにコピーして貼り付けました(<html>タグを持っている<g:HTMLPanel>タグを除く)が、JavaScriptが実行されていないようです(スクリプトの前にあるはずのリストだけが表示されます)。

どうすればそれを機能させることができますか?

関連する質問:これにGQueryをどのように使用できますか(GQuery。$()。getScript(jquery.roundabout.js)のように外部jsスクリプトをロードできますか?)

前もって感謝します

4

2 に答える 2

8

UiBinderに a を入れて、それが読み込まれて実行されるのを見ることを期待することはできません。同じ理由で、JSに aを<script>入れることができないのと同じ理由です(単純に、UiBinder が内部で使用するためです)。<script>innerHTMLHTMLPanelinnerHTML

スクリプトを動的にロードする必要がある場合は、以下を参照してScriptInjectorください。

ScriptInjector.fromUrl(GWT.getModuleBaseURL() + 'jquery.js').inject();

GQueryScriptInjectorも同様に使用または機能すると思います。

于 2012-04-16T16:46:30.120 に答える
0

私は最終的にこれを行うことができました

<script src="jquery.js"></script>
<script src="jquery.roundabout.js"></script>

で、project.html 関連するページがロードされたときに関連する JavaScript を JSNI 呼び出しで実行します (私のプレゼンター)。

于 2012-04-20T08:37:07.420 に答える