0

我有一个基于 jQuery Mobile 构建的网站,并试图让我们的服务条款在对话框中打开。TOS 页面本身就是一个完整页面(单独的 URL),当我与对话框引用链接时,它只是作为一个新页面打开。我的页脚是

<div data-role="footer" data-theme="<?php echo $dataTheme ?>">
<div data-role="navbar">
        <ul>
            <li><a href="/">Home</a></li>
        <li><a rel="external" href="http://www.trackmaster.com">Full Site</a></li>
        <li><a href="/tosfull.php" data-rel="dialog" data-transition="pop">Terms</a></li>
        <li><a href="https://<?php echo $_SERVER['SERVER_NAME']; ?>/cgi-bin/my_acct_entry.cgi">My Account</a></li>
    </ul>
</div>
</div>

我的 tos.php 页面是(为方便起见,内容被剥离)

  <!DOCTYPE html>
  <html>
     <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta name="author" content="AXCIS Information Network">
        <title>TrackMaster Terms of Service</title>
        <link rel="stylesheet" href="http://mobiletest.trackmaster.com/styles/mobile/themes/TrackMasterMobile.min.css" />
        <link rel="stylesheet" href="http://mobiletest.trackmaster.com/styles/mobile/jquery.mobile.structure-1.2.0.min.css" />
        <script src="http://mobiletest.trackmaster.com/javascript/frameworks/jquery-current.min.js"></script>
        <link rel="stylesheet" href="http://mobiletest.trackmaster.com/styles/mobile/mobileStyle.css" />
        <!--  Make sure there is a back button on each page  -->
  <script type="text/javascript">
      $(document).bind("mobileinit", function(){
          $.mobile.ajaxEnabled = false;
          $.mobile.page.prototype.options.addBackBtn= true;
      });
  </script>

        <script src="http://mobiletest.trackmaster.com/javascript/frameworks/jquery.mobile-current.min.js"></script>
     </head>
     <body>
        <div data-role="page" data-theme="a"  id="main">
           <div data-role="header">

     <h1 class="headerLink"><a href="/"  class="headerLink"><span class="tmFirst">Track</span><span class="tmSecond">Master</span></a> </h1>
        <a href="/" data-icon="home" data-iconpos="notext">Home</a>
  </div>

           <div data-role="content" data-theme="a">
  <div data-role="content" class="informationText">
  Blah, Blah, Blah
  </div>


  </div> <!--  this one closes out the content div set in the section header template -->
  <div data-role="footer" data-theme="a">
  <div data-role="navbar">
        <ul>
           <li><a href="/">Home</a></li>
           <li><a rel="external" href="http://www.trackmaster.com">Full Site</a></li>
           <li><a href="/tosfull.php" data-rel="dialog" data-transition="pop">Terms</a></li>
           <li><a href="https://mobiletest.trackmaster.com/cgi-bin/my_acct_entry.cgi">My Account</a></li>
        </ul>
     </div>
     <h5 class="copyrightText">&copy; 2013 Axcis Information Network, Inc.</h5>
     <div class="ads">
     <script type="text/javascript"><!--
  google_ad_client = "ca-pub-7303976721498796";
  /* Mobile Bottom */
  google_ad_slot = "5684536575";
  google_ad_width = 320;
  google_ad_height = 50;
  //-->
  </script>
  <script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
  </script>

     </div>
  </div>
  </div> <!--  this one closes out the page div set in the header template -->
  </body>
  </html>

我尝试将 TOS 页面的数据角色更改为对话框,但这没有任何区别。我是否不理解可以使用对话框链接的方式(从文档中我认为我可以通过将链接定义为对话框来从任何 URL 打开一个)

网站本身是http://mobiletest.trackmaster.com,它是页脚中的条款链接,我试图以对话框的形式获取(我不想在每个页面上都包含内容,只有当用户要求时)

任何帮助表示赞赏(甚至指出我缺少的愚蠢的东西)

4

2 回答 2

0

发现问题。标头中的行 $.mobile.ajaxEnabled = false; 我将其注释掉,对话链接按预期工作。

是问题所在,我正在测试它,看看当我把它拉出来时还有什么坏掉的:-)。TOS 页面的数据角色不相关,因为将其加载为对话框会自动分配对话框数据角色

于 2013-05-07T17:21:07.733 回答
0

您要么缺少 a,<div>要么它们不匹配;你有两个“内容”div。

编辑:在另一个中包含一个可能是可以的,只是注意到<div data-role="page">永远不会关闭。不知道这是否有什么不同。

于 2013-05-07T16:44:36.190 回答