单击链接时jQuery mobile force完全重新加载

Nik*_*ola 5 jquery-mobile

我的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)

然后你的链接将强制重新加载页面!

没有Ajax的链接

指向其他域或具有rel ="external",data-ajax ="false"或目标属性的链接将不会加载Ajax.相反,这些链接将导致整页刷新而没有动画过渡.两个属性(rel ="external"和data-ajax ="false")具有相同的效果,但是在链接到另一个站点或域时应使用不同的语义:rel ="external",而data-ajax =" false"对于简单地选择域中的页面通过Ajax加载非常有用.由于安全性限制,框架始终选择从Ajax行为中链接到外部域.

部件取自/sf/answers/1606603071/

  • 有没有一种简单的方法可以告诉JQM您想要这种方式的所有链接? (2认同)