我的jqm页面中有一个"普通"链接,如下所示:
<a href="http://www.mysite.com/mobile/page.php?attribute=value">
Run Code Online (Sandbox Code Playgroud)
如果我点击它,它将无法正确刷新,考虑属性值并根据属性值动态加载所需的所有内容.我知道这是因为jqm试图像这里提到的那样进行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).
Run Code Online (Sandbox Code Playgroud)
所以,我在发现的文档,我应该使用$.mobile.ajaxEnabled=false;或rel=external在链接或target=_blank链接.
对我来说奇怪的是,只有当我将target=_blank属性设置为我的链接时才真正发生这种情况.所以,我想知道是否有人有这样的问题,你是如何解决的?问题是,我想克制自己使用形式,target=_blank因为它在我的浏览器中打开一个新标签(正如预期的那样,但这对用户的POV来说并不好).
我使用的jqm版本是1.2
Dan*_*nny 14
这个问题现在位于谷歌搜索结果的顶部,所以我想回答:
使用data-ajax属性并将其设置为false以在单击链接时强制重新加载:
data-ajax="false"
Run Code Online (Sandbox Code Playgroud)
使用它像:
<a href="/" data-ajax="false">
<img id="mainLogo" src="logo.svg" width="215" />
</a>
Run Code Online (Sandbox Code Playgroud)
然后你的链接将强制重新加载页面!
指向其他域或具有rel ="external",data-ajax ="false"或目标属性的链接将不会加载Ajax.相反,这些链接将导致整页刷新而没有动画过渡.两个属性(rel ="external"和data-ajax ="false")具有相同的效果,但是在链接到另一个站点或域时应使用不同的语义:rel ="external",而data-ajax =" false"对于简单地选择域中的页面通过Ajax加载非常有用.由于安全性限制,框架始终选择从Ajax行为中链接到外部域.
| 归档时间: |
|
| 查看次数: |
8918 次 |
| 最近记录: |