0

Проблемы с получением моего веб-приложения на одной странице для работы в 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(); 

Но я ненавижу тот факт, что сайт должен перезагрузить, и если кто-то имеет реальную фикс для этого я бы очень признателен ...

+0

Какое желательно поведение? – nnnnnn

+0

попробуйте использовать 'location.hash'. Хотя не уверен, что проблема на самом деле. Вы не сказали, что произойдет или не произойдет, или определить, как работает ваша внутренняя маршрутизация. Предоставьте все соответствующие данные кода nd – charlietfl

+0

Я пробовал location.hash тоже без результатов. Я хочу отобразить другую страницу. –

ответ

0

Край имеет проблемы со ссылками, если ваш код не используется. Вы должны проверить свою консоль на наличие каких-либо ошибок. Скорее всего.

Нам понадобится дополнительная информация с вашей стороны, чтобы помочь вам в дальнейшем.

Опубликуйте свой HTML и ваш Javascript (только связанные с этой областью проблем) , и мы сможем вам лучше помочь.

Сначала я исправляю ошибки jQuery и повторю попытку.

ОК, мой браузерный тест дал мне вариант 30-60 error, относящийся к jQuery через Mac для Win. Они должны быть адресованы.

У вас также есть проблема с XSS, которая должна быть решена. У вас есть HTTPS с facebook, но затем HTTP на вашем сайте, они должны соответствовать.

+0

Это интересно, спасибо. В каком браузере у вас закончилось любопытство? –

+0

Добавлен дополнительный код по вашему запросу. –

+0

Не могли бы вы снова запустить этот тест? Думаю, я все решил, по крайней мере, что смог найти. –

Смежные вопросы