#javascript
#javascript
Вопрос:
я знаю, что это избыточный вопрос, но эти статьи в Google не помогли мне буквально, потому что, я думаю, мой подход был другим, но вот оно, два открытых окна не работают, даже если я их зацикливаю. я получаю только первый элемент массива, который facebook.com
var link = function (){
var websites = ['www.facebook.com', 'www.google.com']
for(var x = 0; x < websites.length; x ){
window.open(websites[x])
}
}
Я тоже пробовал это:
var link = function (){
window.open('www.facebook.com')
window.open('www.google.com')
}
тот же результат, дает мне fb.com
Комментарии:
1. используйте window. местоположение.href
2. Блокируется ли второе? Откройте инструменты разработчика и посмотрите.
3. Большинство браузеров по умолчанию запрещают открывать несколько окон одновременно. Как программист, нет никакого способа переопределить это. Если пользователь явно внесет ваш сайт в белый список в настройках своего браузера, ваш код будет работать.
4. Привет @rags2riches, тоже не работает. это просто замена моей текущей веб-страницы, я хочу новое окно
5. смотрите мой ответ ниже, где я рассматриваю эту проблему
Ответ №1:
Во-первых, используйте https
протокол в строках вашего URL-адреса внутри массива. Во-вторых, для каждого элемента в вашем цикле используйте window.open()
передачу второго аргумента "_blank"
, чтобы открыть URL-адреса в новых вкладках соответственно.
function link () {
var websites = ['https://www.facebook.com', 'https://www.google.com']
for (var x = 0; x < websites.length; x ) {
var website = websites[x];
window.open(website, "_blank");
}
}
link();
Протестировано в:
Ответ №2:
Обычно написанный вами код должен работать, но причина, по которой это не так, заключается в том, что браузер обнаружил всплывающие окна.
Вы можете запросить пользователя отключить всплывающие окна для вашего сайта, чтобы получить полную функциональность
Или вы можете использовать это вместо
var link = function (){
var websites = ['www.facebook.com', 'www.google.com']
for(var x = 0; x < websites.length; x ){
setTimeout(() => {window.open(websites[x], '_blank)}, 2000)
}
Я надеюсь, что это решит вашу проблему
Комментарии:
1. Если это все еще не работает, то, боюсь, ваш единственный вариант — сообщить пользователю отключить всплывающие окна