2

foo/foo/nocache.jsJQuery を使用して、GWT で生成されたファイルを動的にロードしたいと考えています。どういうわけか、このfoo/foo/nocache.jsファイルはブラウザによって実行されません。JQuery を使用して GWT スタイルの withOut を使用して通常どおりスクリプトを配置すると、ページが読み込まれた後、スクリプト (つまり、 jquery.onInjectDone('jquery') ) が動的に生成されます。JQueryまたはjavaScriptを使用してこのスクリプトタグを作成すると、動的に生成されたスクリプトが生成されません。

foo/foo/nocache.jsjQueryを使用して実行されていることを確認するにはどうすればよいですか?

コード:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
 <head>
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
   </script>
  <script>
   $(document).ready(function() {
   $("#clickMe").click(function() {
   // This /foo/foo.nocache.js which is generated by GWT compiler.
       $.getScript("/foo/foo.nocache.js", function(data, textStatus, jqxhr) {
           console.log(data); //data returned
           console.log(textStatus); //success
           console.log(jqxhr.status); //200
           console.log('Load was performed.');
        });
    });
   });
   </script>
 </head>
 <body>
   <h1>Web Application Starter Project</h1>
    <a href="#" id="clickMe">clickMe</a>
    <div id="name">
    </div>      
 </body>
</html>

出力:

ReferenceError: foo が定義されていません

4

1 に答える 1

2

使用しているリンカによっては、ドキュメントの作成が終了した後にスクリプトをロードできませ.nocache.jsでし。これにより、ページ内の現在のコンテンツがすべて上書きされます。document.write

それ以外の場合、xsiframeリンカーを選択するとスクリプトをロードできますが、順列の場所を計算するために使用するアルゴリズムはスクリプトタグまたはドキュメントの場所を使用するため、ajax を使用してスクリプトタグを挿入することはできません。

$("#clickMe").click(function() {
  $('body').append($("<script src=foo/foo.nocache.js />")); 
}
于 2013-05-26T09:58:39.333 に答える