location.href и location.replace не работают в IE - PullRequest
0 голосов
/ 26 апреля 2019

Я пытаюсь перенаправить пользователя с одной страницы на другую, и он отлично работает во всех браузерах, кроме IE.

У меня есть несколько опций меню, и по какой-то причине создание таких простых ссылок, как эта <a class="d-block" href="/customer/search-and-filter/nav-funds#category=1,2" id="fundsSwedenAndNorth">, не работает ни в одном браузере. Поэтому мне пришлось создавать события кликов по этим ссылкам, и я сделал их так:

$('#fundsSwedenAndNorth').on('click', function(){
    location.href = '/customer/search-and-filter/nav-funds#category=1,2';
});

Он работал нормально во всех браузерах, кроме IE, где страница перезагружается, но не перенаправляет туда, куда я хочу, а просто остается на той же странице. Я также попытался с window.location.replace('/customer/search-and-filter/nav-funds#category=1,2'); вместо location.href, и это тоже не сработало.

Ответы [ 2 ]

0 голосов
/ 02 мая 2019

Это может быть связано с недопустимыми символами или пробелами между ними.Попробуйте с помощью encodeURIComponent .Надеюсь, это поможет.

0 голосов
/ 02 мая 2019

Странно, что location.href и location.replace не работают в IE.

Я провел несколько тестов, и все они хорошо работают в IE.

Это было бынемного сложно точно определить, что не так с вашим существующим кодом, так как он должен работать просто отлично.

Мое предложение заключается в том, что, возможно, вы могли бы отладчик в своем коде js в IE, чтобы увидеть, если это правильно.

$('#fundsSwedenAndNorth').on('click', function(){
   debugger;
   location.href = 'link';
});

Кроме того, возможно, вы могли бы попробовать Document .location (): https://developer.mozilla.org/en-US/docs/Web/API/Document/location

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...