0

バックグラウンド

MVC 4 / jQuery Mobile サイトを書いています。Header.cshtml次のように定義された共有ビューがあります。

@model string

<div data-role="header" data-position="fixed">
    <a data-rel="back" href="javascript:history.back()">Go back</a>
    <h1>@Model</h1>
    @Html.ActionLink("Home", "Index", "Home", null, new
    {
        data_icon = "home",
        @class = "ui-btn-right jqm-home"
    })
</div>

私はこれを次のように呼びます:

@Html.Partial("Header", "Registration")

問題

上記は私のデスクトップ ブラウザーでは正常に動作しますが、Mobilizer ( http://www.springbox.com/about/tools/ )を使用してテストするとhistory.back()、モバイルでは動作しないようです。それで、私は思った..大丈夫、物事を成し遂げる方法は常に複数ある..だから私はこれを試した:

<a data-rel="back" href="@Request.UrlReferrer">Go back</a>

奇妙なことに、それも機能せず、その理由はわかりません。ブラウザで何かを呼び出していると推測していますUrlReferrerが、モバイルブラウザはそれをサポートしていません。残念ながら、Mobilizer ではページのソースを調べられないようなので、その理論を実際にテストすることはできません。

いずれにせよ、解決策が必要です..もちろん、この一般的な共有ビューの使用をやめて、代わりにどこにでもコピーアンドペーストすることもできますが、言うまでもなく、それはひどいことです...誰かがこれを解決する方法を教えてくれますか?ヘッダー コードを再利用できますか?

編集

最初は、@DWolf が問題を解決したと思っていました。しかし、今ではそうではないことがわかりました。

Mobilizerに問題がないことを確認しました。これは、別のエミュレーターをテストすることで行いました。この場合、ElectricPlum の iPhone シミュレーター: http://www.hanselman.com/blog/SimulatingAnIPhoneOrIPadBrowserForASPNETMobileWebDevelopmentWithWebMatrix2OrVisualStudio2012.aspx

だから、data-add-back-btn="true"また動作しません。jQuery Mobile の組み込み機能である戻るボタンが動かないのはおかしいと思いますが、それは何ですか?!?!? ヘルプ!

4

1 に答える 1

2

jquery mobile はページをキャッシュしたままにしているため、1 ページから 2 ページにめくると 2 ページが表示されますが、裏では 1 ページのままです。

追加する場合

data-add-back-btn="true"

あなたのページへ

<div data-role="page" id="page2" data-add-back-btn="true" >

1ページ戻ります

于 2013-03-29T13:53:45.190 に答える