Jquery mobile 可以只加载<;第页/>;而不是HTML文档的所有内容?

Jquery mobile 可以只加载<;第页/>;而不是HTML文档的所有内容?,jquery-mobile,Jquery Mobile,我需要 在a页上,当单击指向b页的链接时,ajax注入了b页的内容,而不是刷新整个页面 现在在第b页,按下某个重新加载按钮刷新整个页面,并运行一些js js不能被加载超过一次 方法X)是标准方法,满足1,2,但不满足3。单击指向页面b的链接后,会看到警报 a.html <before_page> <script>alert('abc')</script> </before_page> <page> <a href=b.h

我需要

  • 在a页上,当单击指向b页的链接时,ajax注入了b页的内容,而不是刷新整个页面
  • 现在在第b页,按下某个重新加载按钮刷新整个页面,并运行一些js
  • js不能被加载超过一次

  • 方法X)是标准方法,满足1,2,但不满足3。单击指向页面b的链接后,会看到警报

    a.html
    <before_page>
      <script>alert('abc')</script>
    </before_page>
    <page>
      <a href=b.html>b</a>
    </page>
    <after_page/>
    
    a.html
    警报(“abc”)
    
    -

    c.html
    


    问题是如何满足所有1,2,3?

    满足所有场景的简单选项是缓存外部页面并将代码放入每个页面的div中。缓存页面有两种方法,一种是使用每个页面的
    data
    属性,另一种是全局启用

    • 数据
      属性:

      <div data-role="page" data-cache-dom="true" id="pageID">
        <!-- JS code / libraries -->
      </div>
      


      我认为这个问题的原因是感谢您介绍plnkr.co。好网站@KaFaiLo你的问题中没有提到标签。到目前为止,标签是很棘手的。它正在被重构。不管怎样,我会看看我能做些什么。
      a.html
      <before_page>
        <script>alert('abc')</script>
      </before_page>
      <page>
        <a href=c.html>c</a>
      </page>
      <after_page/>
      
      c.html
      <!--nothing before <page/> -->
      <page/>
      <!-- nothing after <page/>  -->
      
      <div data-role="page" data-cache-dom="true" id="pageID">
        <!-- JS code / libraries -->
      </div>
      
      <script src="jquery.js"></script>
      <script>
        $(document).on("mobileinit", function () {
          $.mobile.page.prototype.options.domCache = true;
       });
      </script>
      <script src="jquery-mobile.js"></script>
      
      $(document).on("pagecreate", "#pageID", function () {
        $(".selector").on("event", function () {
          /* code */
        });
      });