【发布时间】:2011-11-21 07:27:55
【问题描述】:
我正在尝试将变量 cid 从 JQuery Mobile beta 3 中的查询字符串中提取出来。
普通 URL 的示例是 /category.php?cid=23
JQuery Mobile URL 示例 /#/category.php?cid=23
由于 JQuery Mobile Beta 3 的 url 重写,我可以在大多数浏览器中正常使用以下函数将变量从查询字符串中提取出来。但是 IE 不支持新的浏览器历史功能。 https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history
因此,我需要一种从上面看到的 JQuery Mobile Url 中提取查询字符串的方法,而我通常在下面使用的以下函数不能正常工作。
function getQuerystring(key) {
var re=new RegExp('(?:\\?|&)'+key+'=(.*?)(?=&|$)','gi');
var r=[], m;
while ((m=re.exec(document.location.search)) != null) r.push(m[1]);
return r;
}
我正在寻找一个替代正则表达式,它可以在不支持 history.pushState 或其他一些解决方案的浏览器中找到散列变量。我在文档中搜索了此问题的解决方案,但没有找到任何东西。我认为这将是 JQuery 移动团队已经考虑并解决的问题,我可能只是缺少一些非常明显的东西。提前感谢您的帮助。
【问题讨论】:
-
这种情况下该函数也会失效。
标签: javascript jquery regex url-rewriting jquery-mobile