У меня есть фрагмент кода, который должен открывать ссылку на новой вкладке один раз за сеанс, когда пользователь нажимает на определенный класс или идентификатор элемента html. но почему-то не работает.
var clickCounter = 0;
function bodyimgclick(e){
if ( clickCounter == 0 ) {
var homepage = document.querySelector('.post-body img');
var popUp = function(e) {
window.open ("http://google.com");
homepage.removeEventListener('click', popUp, false);
}
homepage.addEventListener('click', popUp, false);
}
clickCounter++;
}
ссылка вообще не открыта
Это была бы возможность большой ознакомиться с некоторыми инструментами отладки. Взгляните на инструменты разработки в своем веб-браузере. С их помощью вы можете проверять наличие ошибок консоли, размещать точки останова в коде, наблюдать за поведением во время выполнения и т. д.
Я знаком и не получаю ошибок
Итак, что же произошло с делает? «Это не работает» не является содержательным описанием проблемы. Что происходит при входе в отладчик? Найден ли элемент целевой страницы селектором? Код вообще выполняется? Срабатывает ли обработчик при нажатии на элемент? Где именно это не удается? Здесь вам нужно выполнить отладку как минимум некоторый.
при отладке я вижу только одно сообщение: «[Нарушение] Принудительная перекомпоновка при выполнении JavaScript заняла 38 мс»
Вы имеете в виду, что при отладке этот код вообще не вызывается? Что ж, если в этой функции нет ничего вызов, то это определенно объясняет, почему эта функция «не работает». Это также означало бы, что проблема в другом месте, не связанном с показанным здесь кодом.
Я создал фрагмент кода в инструментах разработчика и теперь получаю ошибку «Uncaught SyntaxError: Unexpected token <» и ничего, кроме этого



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


изменить window.open ("http://google.com"); window.open ('http://google.pl', '_blank');
Дополнительный аргумент ('_blank') открывает новую вкладку.
это не меняет
Что конкретно с этим "не работает"? На консоли отладки есть ошибка? Что-то другое?