私の1ページのWebアプリケーションをInternet ExplorerとEdgeで動作させることに問題があります。それは他のブラウザでも問題なく動作します。IEとEdgeのlocation.href
問題は、ナビゲーションを機能させることができないということです。
私は次のことを試してみた:
location.href = '#quickQuiz'
location.href = '/#quickQuiz'
window.location.href = '#quickQuiz'
window.location.href = '/#quickQuiz'
document.location.href = '/#quickQuiz'
document.location.href = '#quickQuiz'
function goHere(where) { window.location = where; return false; }
location.hash = '#quickQuiz'
location.hash = '/#quickQuiz'
それらのすべてが、他のブラウザに完全に正常に動作します。私は間違って何をしていますか?
http://www.snabbteori.se自分で見たい場合は、
EDIT1:
<li data-icon="info"><a id="teoriNav">Teori</a></li>
そして、私はその上にクリックイベントをチェック:私のナビゲーションメニューの追加のコード
項目次のようになります。私はそこにhref="#teori
を置くことが可能であることを知っていますが、私はちょうど例としてこの1つを使用しています、私はあまりにもAJAX呼び出しを実行する必要がある他のリンクがありますが、私のAJAX呼び出しが何か間違っていると呼びます。
$(document).delegate('#teoriNav', 'click', function() {
location.hash('#teori');');
});
は私もこれを試してみたが、動作しません:
$('#teoriNav').click(function() {
location.hash('#teori');
});
EDIT2:更新
を私はすべてのjQueryのエラーや他のいくつかの問題を修正しましたと信じています。私は、Internet Explorerのコンソールで取得しています唯一のものは、次のとおりです。
HTML1300: Navigation occured.
DOM7011: The code on this page disabled back and forward caching.
そして、私は私は私はそれがボタンの上に私のクリックを登録確認どの書いた出力を得るボタンをクリックします。しかしそれでもナビゲートしません。
EDIT3:醜い一時的な修正
それがナビゲートした後、ページのリロードを行った後に動作します。
var isIE = /*@[email protected]*/false || !!document.documentMode;
var isEdge = !isIE && !!window.StyleMedia;
if(isEdge || isIE)
location.reload();
しかし、私は、サイトがリロードしなければならないという事実を嫌い、と誰かが、私はそれを本当に感謝このため本当修正を持っている場合は、あなたの場合は...
希望する動作は何ですか? – nnnnnn
'location.hash'を試してみてください。確かに何が問題なのかは分かりませんが。あなたは何が起こるか起こらないかを言わなかったし、あなたの内部ルーティングの仕組みを特定した。関連するすべてのコードと詳細を提供してください – charlietfl
私は結果もなくlocation.hashを試しました。私は別のページを表示したい。 –