如何在URL中禁用#hashtag

时间:2013-06-14 14:50:27

标签: javascript jquery jquery-mobile

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

问题:

现在,我从默认主页 page1 转到另一个 page2 ,因此网址为localhost/index.php#page2。当我刷新页面时,它仍然在 page2

这是否可以返回localhost/index.php而不是当前页面(没有任何参数)?

3 个答案:

答案 0 :(得分: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('#'));
});

答案 1 :(得分:2)

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

  

演示:#Hashtag(Disabled / Enabled

<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>

答案 2 :(得分:1)

如果您希望此功能仅限于此点,那么当您从changeHash移动到#page1时,可以添加@ Omar的优秀答案,您可以停用#page2选项。像这样使用changePage

$.mobile.changePage("#page2", { transition: "slideup", changeHash: false });