jQuery mobile:URL查询字符串未更改
我在玩jQuery Mobile时遇到了一些(对我来说)奇怪的行为 我有一堆链接,每个链接指向同一个jQM页面,jQuery mobile:URL查询字符串未更改,url,mobile,jquery-mobile,Url,Mobile,Jquery Mobile,我在玩jQuery Mobile时遇到了一些(对我来说)奇怪的行为 我有一堆链接,每个链接指向同一个jQM页面,#otherpage,但是URL查询字符串的值不同,比如#otherpage?q=foo,#otherpage?q=bar,等等。对另一个页面的更改可以正常工作,但查询字符串在两次单击之间保持不变,因此,如果我首先单击指向#otherpage?q=foo,然后返回到第一个页面,则对#otherpage的所有后续页面更改都将具有q=foo,无论当前单击的链接的href如何表示 JSFID
#otherpage
,但是URL查询字符串的值不同,比如#otherpage?q=foo
,#otherpage?q=bar
,等等。对另一个页面的更改可以正常工作,但查询字符串在两次单击之间保持不变,因此,如果我首先单击指向#otherpage?q=foo
,然后返回到第一个页面,则对#otherpage
的所有后续页面更改都将具有q=foo
,无论当前单击的链接的href如何表示
JSFIDLE似乎不支持jQM,所以我在这里举了一个例子:
我在Mac上的Chrome和Safari中试过这个
我使用查询字符串在页面之间传递简单数据,因为我将其他代码连接到pagechange事件中,这或多或少不知道早期代码可能做了什么。如果我不能让它工作,我必须找到另一种方法来传递数据…:P
干杯
/Christofer默认情况下,jQuery Mobile不允许向内部链接的页面传递查询字符串参数。查看此文档页面的最底部(页面底部的第二个项目符号): jQuery Mobile不支持将查询参数传递给 内部/嵌入式页面,但有两个插件可以添加到 您的项目将支持此功能。有一个轻量级的、功能更全面的用于backbone.js或spine.js
我一直在寻找这个问题,因为它看起来确实有点奇怪。关于这一点,有一个悬而未决的问题: Atm jQuery Mobile不建议使用查询参数: 我们目前不支持将查询参数作为哈希的一部分 片段,尽管这是经常讨论的问题 内部,并在功能请求列表中 他们建议使用如下插件:
但是,由于DOM中活动页面的数据url确实发生了更改,因此有一种解决方法,您可以使用
$(“.ui page active”).attr(“数据url”)
我已经在你的网站上测试过了,它给了我所有3个uniques url禁用jQm似乎是在浏览器中正确更新url参数的最简单解决方案。例如,在链接锚中添加data ajax=“false”
,而不使用$.mobile.changePage
<a href="#page?id=1" data-ajax="false">
在动态应用程序中,事先修改href的值。感谢您抽出时间帮我找出这个值!我会尝试一下“数据url”。我知道这是一个老问题,但如果您仍然有问题,我最近创建了一个可能会帮助您解决的。