1

我的 JQM 包括三个data-role="page".

问题:

现在我从默认主页1转到另一个page2,所以 URL 是. 当我刷新页面时,它仍然在page2中。localhost/index.php#page2

这是一种可以返回localhost/index.php而不是当前页面(没有任何参数)的方式吗?

4

3 回答 3

2

链接/按钮的每个单击事件都会触发以下内容...

仅删除值,而不是哈希

window.location.hash = ""

..................................................... ......

这将完全删除散列和值。

window.location.href = window.location.href.substr(0, window.location.href.indexOf('#'))

** 执行 **

$('a').click(function() {
    window.location.href = window.location.href.substr(0, window.location.href.indexOf('#'));
});
于 2013-06-14T15:14:25.990 回答
2

要禁用更新 URL ,请在加载 jQuery Mobile 脚本之前更改处理页面转换#hashtag的默认值。changePage<head>

演示:#Hashtag(禁用/启用

<head>
 <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" />
 <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
 <script>
    $(document).on("mobileinit", function(){
     $.mobile.changePage.defaults.changeHash = false;
    });
 </script>
 <script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>
</head>
于 2013-06-14T15:19:31.753 回答
1

添加到@Omar 的出色答案中,如果您希望此功能仅限于该点,则可以在从tochangeHash遍历时禁用该选项。像这样使用:#page1#page2changePage

$.mobile.changePage("#page2", { transition: "slideup", changeHash: false });
于 2013-06-14T15:51:31.970 回答