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>か、一致していません。2 つの「コンテンツ」div があります。

<div data-role="page">編集:が決して閉じられないことに注意してください。それが違いを生むかどうかはわかりません。

于 2013-05-07T16:44:36.190 に答える