Проблемы с получением моего веб-приложения на одной странице для работы в Internet Explorer и Edge. Он отлично работает в других браузерах.location.href в IE & Edge
Проблема, с которой я сталкиваюсь, заключается в том, что я не могу заставить навигацию работать.
Я попытался следующие:
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
, но я просто использую этот пример в качестве примера, есть другие ссылки, где мне также нужно выполнять вызовы 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'. Хотя не уверен, что проблема на самом деле. Вы не сказали, что произойдет или не произойдет, или определить, как работает ваша внутренняя маршрутизация. Предоставьте все соответствующие данные кода nd – charlietfl
Я пробовал location.hash тоже без результатов. Я хочу отобразить другую страницу. –