jQuery モバイルを使用してシンプルな Web サイトを作成しました。index.php
との 2 ページで構成されていpageB.php
ます。InpageB.php
は jqm ページのヘッダーです。へのリンクを戻しますindex.php
:
<a href="index.php">Retour</a>
ではindex.php
、ページ ID はwelcome
私の問題は、もし私が
- domain.com/ からサイトに入ります
pageB.php
(ajax ロード済み)へのリンクをクリックします。- リンクをクリックして戻る
index.php
イベントpageshow
は再び発生せず、以前に動的にロードしたコンテンツは存在しません。(タイプ #welcome の新しいページのようです)
しかし、 のリンクを、のページの ID であるpageB.php
へのリンクに置き換えると、 からサイトに入ると、リンクは非アクティブになります。index.php#welcome
welcome
index.php
pageB.php
更新: 問題を再現するための簡略化されたコードを次に示します。
index.php
:
<!DOCTYPE HTML>
<html>
<head>
<!-- Explicit charset definition -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8 "/>
<!-- useful for mobile devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Includes javascript & css files required for jquery mobile -->
<script src="./jquery-mobile/jquery-1.8.1.min.js"></script>
<script src="./jquery-mobile/jquery.mobile-1.2.0-beta.1.min.js"></script>
<link rel="stylesheet" href="./jquery-mobile/jquery.mobile-1.2.0-beta.1.min.css" />
</head>
<body>
<div data-role=page id=welcome>
<div data-role=header>
<h1>Index</h1>
</div>
<div data-role=content>
<a href="pageB.php">link to pageB</link>
<script>
$('#welcome').bind('pageshow', function(){
alert('pageshow triggered');
});
</script>
</div>
</div>
</body>
</html>
とpageB.php
:
<!DOCTYPE HTML>
<html>
<head>
<!-- Explicit charset definition -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8 "/>
<!-- useful for mobile devices -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Includes javascript & css files required for jquery mobile -->
<script src="./jquery-mobile/jquery-1.8.1.min.js"></script>
<script src="./jquery-mobile/jquery.mobile-1.2.0-beta.1.min.js"></script>
<link rel="stylesheet" href="./jquery-mobile/jquery.mobile-1.2.0-beta.1.min.css" />
</head>
<body>
<div data-role=page id=pageB>
<div data-role=header>
<!--<a href="./index.php#welcome" data-icon="arrow-l">Retour</a>-->
<a href="./index.php" data-icon="arrow-l">Retour</a>
<h1>PageB</h1>
</div>
<div data-role=content>
nothing
</div>
</div>
</body>
</html>