ハッシュを次のように変更した場合:window.location.hash = "main/0/sub/1/na/false";
。 ブラウザのアドレスがhttp://mysite.com/#main/0/sub/1/na/false
に変わります。 Pageのonhashchange関数が起動し、すべてが正常に動作しています。window.location.hashでスラッシュを使用する
しかし、Firebugでは、次のURLへのリクエストも送信していることがわかります。http://mysite.com/main/0/sub/1/na/false
...ハッシュのないURL。コンソールには404のサイレントメッセージが表示されます。
デバッグすると、window.location.hash
ポイントで発生します。
ただし、私がハッシュを以下のように変更した場合:window.location.hash = "main=0&sub=1&na=false";
追加のリクエストは送信されません。
最初の例で追加の要求が送信されるのはなぜですか?
UPDATE: 私はそれがwindow.location.hash
後にリクエストを送信し、前に気づい$(window).bind('hashchange')
(中?)。例がある場合...
window.location.hash = 'main/0/sub/1/na/false'; // Breakpoint 1 in Firebug
$(window).bind('hashchange', function(e) {
e.preventDefault(); // Breakpoint 2 in Firebug
e.stopPropagation();
});
ブレークポイント1で停止すると、要求は送信されません。ブレークポイント2で停止すると、要求はすでに送信されています。
リクエストが送信されていることをApache Tomcatで確認できます。
私はjQueryとjQueryのモバイルが接続されていることを追加します
UPDATE 2: のjQuery Mobileを削除するには、問題を解決します。しかし、私はそれを必要とする:/
UPDATE 3
誰もが興味を持っている場合は、次のjQuery Mobileと :jQueryのモバイルなしhttp://jsfiddle.net/pioSko/hz5PU/3/
:http://jsfiddle.net/pioSko/hz5PU/4/
オープンFirebugのか、他のデバッグアプリをし、リンクをテストしてください。
リクエストは実際にサーバーに当たっていますか? FirefoxのFirebugのどのバージョンですか?私は本当に古いものでも、新鮮なChromeでも見られないので、これはどこかのバグかもしれないと思います。 –
FF 12.0および13.0.1で再生できません。ランダムページのFirebugコンソールで、ネットワークリクエストは観測されませんでした。 – lanzz
ダミーサイトを作成しましたが、このエラーは再現できません。したがって、コード内で深くなる必要があります。 – pioSko