У меня есть страница в моем веб-интерфейсе с различными кнопками, все кнопки сами по себе работают отлично, но если я нажимаю кнопку, открывающую расширение в интернет-магазине Chrome, а затем нажимаю другую кнопку, страница не открывается ,
Вот пример того, о чем я говорю. Если вы нажимаете кнопки, не закрывая открывающиеся вкладки, кнопка, которую вы нажимаете после открытия интернет-магазина Chrome, не будет иметь эффекта. Кто-нибудь знает, почему это так и как обойти это?
https://html-ichr7r.stackblitz.io
Вот код для этого.
<button id="button1" onclick="window.open('https://www.facebook.com/','popup','width=700,height=300');"><strong>CONTINUAR</strong></button><br>
<button id="button2" onclick="window.open('https://www.google.com/','popup','width=700,height=300');"><strong>CONTINUAR</strong></button>
<button id="button3" onclick="window.open('https://chrome.google.com/webstore/detail/dark-mode/dmghijelimhndkbmpgbldicpogfkceaj?hl=de','popup','width=700,height=300');"><strong>CONTINUAR</strong></button><br>
<button id="button4" onclick="window.open('https://www.9gag.com/','popup','width=700,height=300');"><strong>CONTINUAR</strong></button>
Любая помощь приветствуется!
РЕДАКТИРОВАТЬ : Я только что понял, что он работает в Firefox, но до сих пор не знаю, почему он не работает в Chrome.
javascript
html
google-chrome
Ckuessner
источник
источник
Ответы:
У меня есть какое-то решение: для вашей ссылки в интернет-магазине Google нужно изменить
popup
что-то похожееpopupWindow
, поэтому у вас будет:На самом деле у вас будет два разных всплывающих окна с этим кодом.
Что касается объяснения, я немного смутился с этим. Я думаю, что Chrome мешает запускать JS
https://chrome.google.com/webstore/*
в качестве меры безопасности. Вы можете прочитать больше о подобных проблемах здесь и здесь здесь.Дополнение (после некоторых размышлений об этом):
Вероятно, это умный ход со стороны разработчиков Chrome. Не позволяя какой-либо JS изменять какие-либо страницы
https://chrome.google.com/webstore/
, они уверены, что никакое расширение не может изменить эту страницу. Представьте себе, если вы устанавливаете расширение, которое хорошо справляется с рекламой, оно получит положительную оценку, а также изменит страницу интернет-магазина расширений. Это может заставить пользователей установить дополнительные (hacky / adware-ish) расширения или программное обеспечение, которые могут заразить пользовательский браузер или компьютер.источник
Я также не понимаю, почему это происходит, но у меня есть способ попробовать это.
источник