我的jqm页面中有一个“普通”链接,如下所示:
<a href="http://www.mysite.com/mobile/page.php?attribute=value">
如果我单击它,它将无法正确刷新,同时考虑属性值并根据属性值动态加载所需的所有内容。我理解这是因为jqm试图像提到here那样进行ajax调用:
When you use pageChange an Ajax request will be made to that url and it will be
loaded only the content inside the div with data-role="page". So everything you
have out of this element will be ignored (JS and CSS).
所以,我在docs中发现我应该在链接上使用$.mobile.ajaxEnabled=false;
或rel=external
或在链接上使用target=_blank
。
对我而言,奇怪的是,只有当我将target=_blank
属性设置为我的链接时才真正发生这种情况。所以,我想知道是否有人有这样的问题,你是如何解决的?问题是,我想使用target=_blank
来禁止自己形成,因为它在浏览器中打开了一个新选项卡(正如预期的那样,但这对用户的POV来说并不好。)
我使用的jqm版本是1.2
答案 0 :(得分:14)
此问题现在位于谷歌搜索结果的顶部,所以我想回答:
使用data-ajax属性并将其设置为false以在单击链接时强制重新加载:
data-ajax="false"
使用它像:
<a href="/" data-ajax="false">
<img id="mainLogo" src="logo.svg" width="215" />
</a>
然后您的链接将强制重新加载页面!
的部分指向其他域或具有rel =“external”的链接, data-ajax =“false”或目标属性不会被Ajax加载。 相反,这些链接将导致整页刷新而没有动画 过渡。两个属性(rel =“external”和data-ajax =“false”) 具有相同的效果,但具有不同的语义含义:rel =“external” 应该在链接到另一个站点或域时使用 data-ajax =“false”对于简单地选择你的页面非常有用 通过Ajax加载域。由于安全限制, 框架总是选择从Ajax中链接到外部域 行为。
答案 1 :(得分:-1)
为链接的onclick事件创建函数。参见下面的代码示例。希望这有帮助!
<script type="text/javascript">
function loadPage(url){
document.location.href = url;
}
<script/>
<a href="#" onClick="loadPage('http://www.mysite.com/mobile/page.php?attribute=value');">