Доброго времени суток! Возникла такая проблема. Не работает редирект в js
<a id="aaa" onclick="href();" href="#"></a>
Пробовал этими способами, но ничего не помогает
<script language="JavaScript">
function href() {
window.location.replace("http://stackoverflow.com");
document.location.href='http://stackoverflow.com'
}
</script>
Проблема в том, что inline обработчики выполняются в контексте HTML элемента.
то есть, все, что используется, сначала ищется в html элементе, и в данном случае href - это свойство элемента a
, а не функция.
Проверить это можно просто, достаточно поменять код на следующий
<a id="aaa" onclick="console.log(this.href===href, href);" href="#">Нажми меня</a>
Для исправления - достаточно изменить имя функции обработчика:
<script language="JavaScript">
function func() {
console.log('я делаю редирект');
document.location.href = 'http://stackoverflow.com'
}
</script>
<a id="aaa" onclick="func();" href="#">Нажми меня</a>
Либо навешивать обработчик с помощью функции addEventListener
function func() {
console.log('я делаю редирект');
document.location.href = 'http://stackoverflow.com'
}
document.getElementById('aaa').addEventListener('click', func);
<a id="aaa" href="#">Нажми меня</a>
function href() {
window.location.href = 'http://stackoverflow.com';
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть расширения chromeВ самом расширении ссылка на страницу настроек с формой
Задание: Нужно сделать так, чтобы в поле можно было ввести дату не меньше чем послезавтрашний день и не больше чем на пол года больше, например...