1

次のように設定された JQuery Mobile ページがあります。

<body>
        <div class="normal" data-role="page" data-title="Photo Stream">

            <script type="text/javascript" src="js/photostream.js"></script>

            <script type="text/javascript" charset="utf-8">
                // Wait for Cordova to load
                document.addEventListener("deviceready", onDeviceReady, false);

                // Cordova is ready
                function onDeviceReady() {
                                }
                </script>

            <div id="programholder">

          ~~addtional HTML~~

外部 JS スクリプトphotostream.jsは、アプリを最初に開いたときに機能しますが、このページに戻ると再び機能しなくなります。これは、AJAX がページを重ねて読み込む方法が原因であると想定していますが、外部リンクがdata-role="page"div 内にあったため、その要素が再表示されるたびにこれがトリガーされると想定しました。

このページに再度アクセスするたびに、外部 JS ファイルを再読み込みする方法はありますか?

4

1 に答える 1

1

私があなたの問題を正しく理解していれば、特定のページが読み込まれるたびに外部 js ファイル - photostream.js を明示的に読み込む必要があります。しかし、AJAX がページをロードする方法のため、これは JQuery Mobile では起​​こりません。

頭のてっぺんから、 pageshowイベントがトリガーされたときに読み込まれる外部スクリプトをバインドしようとしましたか。

 $("#page1").on('pageshow', function(event, ui){
      var filename = "photostream.js";      
      var fileref=document.createElement('script');
      fileref.setAttribute("type","text/javascript");
      fileref.setAttribute("src", filename);
   });
于 2013-08-16T05:02:19.523 に答える