jQuery Mobileを使用してモバイルサイトを構築していますが、テスターの1人がリロード、ディープリンクまたはjQuery Mobileに組み込まれた標準的なページ読み込み機能を使用して、私がDOMにロードしたページをブックマークします。私は解決策を探しているドキュメンテーション、フォーラム投稿、githubバグリストなどを見直してきました。私が間違っているかも知れません。私は、私が見ていることを示す非常に基本的な2ページの例をまとめました。jQuery Mobile:リロード/ディープリンク時のブレーク/ AJAX経由でDOMに追加されたブックマークページ
まず第一に、私はこのようになりますように私の例のサイトのルートフォルダ(すなわち/index.html
)にindex.htmlページを持っている:私は 'と呼ばれるフォルダ内の2ページ目を持っている
<!DOCTYPE html>
<html>
<head>
<title>Home Page</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.css" />
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.js"></script>
</head>
<body>
<!-- main page -->
<div data-role="page" data-theme="b" id="main">
<div data-role="header" data-theme="b">
<h1>Home Page</h1>
</div><!-- /header -->
<div data-role="content">
<ul data-role="listview" data-inset="true">
<li><a href="news/">News</a></li>
</ul>
</div><!-- /content -->
</div><!-- /main page -->
</body>
</html>
このように見えるニュース(すなわち/news/index.html
):だから
<div data-role="page" data-theme="b" data-add-back-btn="true" id="news">
<div data-role="header" data-theme="b">
<h1>News</h1>
</div><!-- /header -->
<div data-role="content">
TODO: page content goes here
</div><!-- /content -->
</div><!-- /#news page -->
が、これは素晴らしい作品。 「ホームページ」は正常に読み込まれます。ブラウザのアドレスフィールドには、http://m.example.com/
と表示されます。
[ニュース]リンクをクリックすると、そのページをDOMに読み込むことができます。ブラウザのアドレスフィールドにhttp://m.example.com/news/
と表示されます。これは私の問題がある場所です。ブラウザのリロードボタンをクリックすると、/news/index.html
ページがリロードされますが、メインのホームページのコンテキストが完全になくなり、jQuery、CSSまたは適切なHTMLドキュメント構造がなくなります。私は、URLとそのドキュメントの内容を考慮すると、そうだと思います。しかし、私はモバイルサイトの外から深くリンクされているときに動作するサブページへのリンクが必要です。
http://m.example.com/#news/
を使用してサブページにリンクすると、サブページが正しく読み込まれ、ブラウザアドレスフィールドが自動的にhttp://m.example.com/news/
に書き換えられ、これが機能します。この問題は、ページのURLをブックマーク、ツイート、電子メールなどで手動で編集する必要があることを人々が知る必要があることです。
自動的にブラウザをホームページに戻し、DOMページが正しく再作成されるように、サブページの読み込みをユーザーに透過的にトリガーする方法はありますか?私は何が欠けていますか?
ありがとうございました!これは大きな助けとなりました。 – Brandon