5

我的 jqm 页面中有一个“正常”链接,如下所示:

<a href="http://www.mysite.com/mobile/page.php?attribute=value">

如果我单击它,考虑到属性值并根据属性值动态加载它所需的所有内容,它不会正确刷新。我知道这是因为 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).

所以,我在我应该使用的文档$.mobile.ajaxEnabled=false;rel=external链接或链接target=_blank上找到了。

但对我来说奇怪的是,只有当我将target=_blank属性设置为我的链接时,这才会真正发生。所以,我想知道是否有人遇到过这种问题,你是如何解决的?问题是,我想避免使用表单,target=_blank因为它会在我的浏览器中打开一个新选项卡(正如预期的那样,但这从用户的 POV 来看并不好)。

我使用的jqm版本是1.2

4

2 回答 2

15

这个问题现在在谷歌搜索结果的顶部,所以我想我会回答:

使用 data-ajax 属性并将其设置为 false 以在单击链接时强制重新加载:

data-ajax="false"

像这样使用它:

<a href="/" data-ajax="false">
    <img id="mainLogo" src="logo.svg" width="215" />
</a>

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

没有 Ajax 的链接

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

部分取自https://stackoverflow.com/a/22951472

于 2014-04-26T16:03:11.237 回答
-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');">
于 2013-05-15T11:11:07.153 回答