JQuery Mobile JS脚本第一次运行,但返回页面时不会运行



我有一个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文件?

如果我正确理解您的问题,您希望每次加载特定页面时都显式加载外部js文件-photstream.js。但由于AJAX加载页面的方式,这种情况在JQueryMobile中不会发生。

在我的脑海中,你有没有尝试绑定要在触发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);
   });

最新更新