在URL中添加自己的哈希会破坏jQuery Mobile吗?

时间:2012-07-10 16:53:47

标签: jquery jquery-mobile browser-history fragment-identifier hashbang

我想在URL中使用自己的哈希参数,但是当我这样做时,jQuery Mobile站点不再起作用了。只是一个空白的白色屏幕与无尽的旋转器。使用jQuery Mobile时哈希是不是对我有限制?

2 个答案:

答案 0 :(得分:0)

如果您需要将参数传递给内部/嵌入页面,jQuery Mobile不支持此功能。但是有两个插件可以让你这样做:

我建议你阅读有关jQuery Mobile导航模型的官方文档: http://jquerymobile.com/demos/1.1.0/docs/pages/page-navmodel.html

“已知限制”部分提到了两个插件。

答案 1 :(得分:0)

您必须禁用hashstate插件。我不熟悉这样做,但我认为你可以这样做:

$(window).bind('hashchange', function (event) {
    event.stopImmediatePropagation();
});

基本上,当事件的事件处理程序触发时,jQuery Mobile会侦听此事件并转换到页面。

  

独立于点击发生的哈希更改,例如用户时   单击后退按钮,通过hashchange事件处理,   使用Ben Alman的hashchange绑定到window对象   特殊事件插件(包含在jQuery Mobile中)。当哈希改变时   发生(以及第一页加载时)hashchange事件   handler会将location.hash发送到$ .mobile.changePage()   函数,它反过来加载或显示引用的页面。

来源:http://jquerymobile.com/demos/1.1.0/docs/pages/page-navmodel.html