基本的に、ハッシュリスニングとすべてを自分のコードで処理したいのですが、jQMにハッシュ変更イベントのリスニングを停止させて、一般的にURLをいじくり回すことはできません。私は彼らのドキュメントからコードを試しました:
$(document).bind('mobileinit', function() {
$.extend($.mobile, {
hashListeningEnabled: false,
pushStateEnabled: false,
ajaxEnabled: false,
linkBindingEnabled: false
});
});
ただし、mobileinitイベントは、最初のページの読み込み時に発生することはないので(そうあるべきだと思われますが)、それは私には機能しません。コードを実行させるのは、コードを$(window).bind('load')に配置することです。Firebugコンソール$.mobile.hashListeningEnabled === false
で、値が適切に設定されていることを確認できますが、そうではないようです。何でもする!たとえば、<mysite>/index.html
アドレスバーに入力すると、デフォルトのページが読み込まれますが、入力<mysite>/index.html#anything
すると、jQM読み込みスピナーが表示され、何も読み込まれません(data-role=anything
デフォルトであるファイル内のページを探しているためだと思います)機能)。さらに、サポートされているブラウザでURLバーを実行すると、期待どおりではなく、が表示されるため、pushStateEnabled
オーバーライドも明らかに機能していません。window.location.hash = /somethingelse.html
http://<mysite>/somethingelse.html
http://<mysite>/index.html#somethingelse.html
。
基本的に、私が望んでいるのは、jQuery MobileがページレイアウトとDOM操作を処理することであり、他には何もありません。これは可能ですか?