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。但这在 JQuery Mobile 中不会发生,因为 AJAX 加载页面的方式。

在我的脑海中,您是否尝试过绑定要在触发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 回答