背景
我正在编写一个 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 的后退按钮内置功能不起作用,但这似乎很奇怪……那是什么?!?!?帮助!