我想在URL中使用我自己的哈希参数,但当我这样做时,jQuery Mobile网站就不再工作了。只是一个空白的白色屏幕和一个无尽的旋转器。当我使用jQuery Mobile时,散列真的是禁止使用的吗?
如果需要将参数传递到内部/嵌入式页面,jQuery Mobile不支持此功能。但是有两个插件可以让你做到这一点:
- https://github.com/jblas/jquery-mobile-plugins/tree/master/page-params
- https://github.com/azicchetti/jquerymobile-router
我建议您阅读关于jQuery Mobile导航模型的官方文档:http://jquerymobile.com/demos/1.1.0/docs/pages/page-navmodel.html
"已知限制"部分提到了这两个插件。
您必须禁用hashstate插件。我不熟悉这样做,但我认为你可以这样做:
$(window).bind('hashchange', function (event) {
event.stopImmediatePropagation();
});
基本上,jQueryMobile会侦听此事件,并在触发此事件的事件处理程序时转换到页面。
独立于单击而发生的哈希更改,例如当用户单击后退按钮,通过hashchange事件进行处理,使用Ben Alman的hashchange绑定到窗口对象特殊事件插件(包含在jQuery Mobile中)。哈希更改时发生(以及加载第一个页面时),hashchange事件处理程序将把location.hash发送到$.mobile.changePage()函数,依次加载或显示引用的页面。
来源:http://jquerymobile.com/demos/1.1.0/docs/pages/page-navmodel.html