Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Скрипт не открывает страницу при нажатии onclick=


Автор: Roman2323 2.2.2019, 20:00
Здравствуйте.

Подскажите пожалуйста, почему скрипт (для оформления html страниц) не открывает новую страницу при нажатии мыши на картинку 7.jpg при помощи функции onclick=window.open (сразу отмечу что это мои эксперименты и при вводе этой функции в формате с кавычками onclick="window.open('https://web.com')" скрипт сразу становится не работоспособным, и я не большой специалист в программировании, что бы понять как заставить работать эту гиперссылку).

Привожу ниже блок кода из скрипта, который открывает основную просматриваемую им страницу и сразу же (без нажатия мыши на картинку 7.jpg) одновременно открывает с помощью window.open и дополнительно вкладку с страницей  https://web.com. Как правильно скорректировать этот блок кода, что бы он делал переход только при нажатии кнопки.

Код

var i=xi("img");i.src="7.jpg",n=(n||[]).concat([{view:i,view:i,url:i.src,onclick:i,href: window.open('https://web.com'), link:"www.web.com",region:0,x:8,y:8,alpha:1,width:120,height:90}])}


Спасибо всем, кто сможет помочь.

Автор: Sardar 3.2.2019, 17:45
Может все дело в том, что вы не опубликовали весь код? smile

Ваш код - это просто вырезка из какого-то другого скрипта, который собирает массив `n`. Перед этим ставит аттрибут `img.src` в путь к картинке. Оно все никакого отношения к вашей задаче не имеет.

Цитата
Как правильно скорректировать этот блок кода, что бы он делал переход только при нажатии кнопки.

Дело в том, что `window.open()` отрабатывает прям в том же месте, где вы задаете аттрибут `href`. Вам нужно этот вызов обернуть в функцию. Это азы JS. К сожалению дать полное рабочее решение с тем кодом, что вы показали вряд ли возможно.

Цитата
сразу отмечу что это мои эксперименты

Экспериментируйте со своими скриптами, вам не нужны чужие скомплированные/ужатые скрипты. Лучше начать эксперименты с https://angular.io , вы сможете гораздо больше, чем просто открыть окошко по клику. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)