强制jQuery Mobile更新哈希而不是AJAX页面的URL?

时间:2012-08-14 15:08:21

标签: javascript jquery jquery-mobile mobile-website

我正在使用jQuery Mobile的默认行为,其中我的href链接指向我网站上的不同页面。这会完全更改URL。有没有办法让它更新哈希而不是更改URL?直接进行单独的页面不起作用,因此散列是有意义的(适用于书签)。此外,我不必担心相对路径,因为我仍然在我的网站的根目录。有没有办法像对话那样做?

2 个答案:

答案 0 :(得分:4)

您可以将pushStateEnabled设置为false

来停用此功能

这是在mobileinit事件中完成的。例如:

<script type="text/javascript">
$(document).bind("mobileinit", function(){
    $.mobile.pushStateEnabled = false;
});
</script>

<script src="jquery-mobile.js"></script>

请注意,{/ 1}}必须附加才能 jQuery mobile包含在页面中。 有关更多信息,请查看jQuery Mobile configuration defaults documentation page

答案 1 :(得分:1)

对于jQuery Mobile的1.4.5版本,我们发现另外您需要将changePage.defaults.changeHashhashListeningEnabled参数设置为false

示例:

<script>
    $(document).bind('mobileinit',function(){
        $.mobile.changePage.defaults.changeHash = false;
        $.mobile.hashListeningEnabled = false;
        $.mobile.pushStateEnabled = false;
    });
</script>

来源: jquery-mobile/no-hash-tests.html at cb9112abb3acf73abc104051ac318647055b189c · jquery/jquery-mobile · GitHub