少し前に JqueryMobile を使い始めましたが、ウェブサイトをモバイル デバイスに適応させようとしています。
私は ASP.NET Mvc を使用しており、ページの構造は次のとおりです。
<!DOCTYPE html>
<html>
<head>
<title>@ViewBag.Title</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jquerymobile")
@Scripts.Render("~/bundles/jqueryflexslider")
</head>
<body>
<div data-role="page" data-theme="a">
@RenderBody()
</div>
</body>
</html>
問題は、レイアウト ページ内に、メニューをアニメーション化する単純な jquery 関数を含む部分ビューがあることです。クリックするとスライドアップ/ダウンします。ページを再ロードすると正常に動作しますが、戻るボタンを押すと単純に機能しなくなりますが、もう一度更新を押すと機能します。
「頭の中のスクリプトとスタイル」に関するjqueryモバイルのドキュメントを読んだところ、
..ナビゲーション システムのデフォルトの動作は、そのリンクの href を使用して Ajax リクエストを作成することです (ページ全体の読み込みでその href を要求するブラウザーのデフォルトのリンク動作を許可するのではなく)。その Ajax リクエストが送信されると、フレームワークはテキスト コンテンツ全体を受け取りますが、レスポンスの body 要素 (より具体的には data-role="page" 要素が提供されている場合) のコンテンツのみを挿入します。
私の質問は、コンテンツをリロードしてスクリプトを機能させる方法です (問題はリロードの問題であると仮定します)。