Как при попадании на сайт открыть пользователю сразу 5 окон (5 URL's)?
Есть сайт-страница https://redmap.site/index32.html , при заходе на которую - юзера должно редиректить через 5 секунд на сайт https://google.com .
Во время этих 5 секунд - должны открываться в отдельном (маленьком) окне 5 сайтов , вот по этим юрлам: https://alpha.com https://betta.com https://gamma.com https://delta.com https://lambda.com и должны все эти 5 окон закрываться через 1 секунду. На данный момент как и нужно - срабатывает через 5 секунд редирект на страницу гугла, и во время этих 5 секунд происходит открытие самого верхнего юрла и закрытие его через 1 секунду. Только этот (самый верхний) url открывается сейчас: https://alpha.com Почему не открываются другие юрлы по принципу, открылись на 1 секунду и закрылись? Код страницы: index1.html <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>redmap.site</title> <!--[if IE]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <style> article, aside, details, figcaption, figure, footer,header, hgroup, menu, nav, section { display: block; } </style> <script type="text/javascript"> partner_window1_alpha = window.open("https://alpha.com", "partner", "menubar=no,toolbar=no,location=no,status=no,resizable=no,scrollbars=no,top=5000,left=5000,width=100,height=100"); setTimeout(function() { partner_window1_alpha.close(); location.href = 'https://www.google.com'; }, 5000); setTimeout(function() { partner_window1_alpha.close(); }, 1000); partner_window2_betta = window.open("https://betta.com", "partner", "menubar=no,toolbar=no,location=no,status=no,resizable=no,scrollbars=no,top=1000,left=1000,width=100,height=100"); setTimeout(function() { partner_window2_betta.close(); location.href = 'https://www.google.com'; }, 5000); setTimeout(function() { partner_window2_betta.close(); }, 5000); partner_window3_gamma = window.open("https://gamma.com", "partner", "menubar=no,toolbar=no,location=no,status=no,resizable=no,scrollbars=no,top=5000,left=5000,width=100,height=100"); setTimeout(function() { partner_window3_gamma.close(); location.href = 'https://www.google.com'; }, 5000); setTimeout(function() { partner_window3_gamma.close(); }, 1000); partner_window4_delta = window.open("https://delta.com", "partner", "menubar=no,toolbar=no,location=no,status=no,resizable=no,scrollbars=no,top=5000,left=5000,width=100,height=100"); setTimeout(function() { partner_window4_delta.close(); location.href = 'https://www.google.com'; }, 5000); setTimeout(function() { partner_window4_delta.close(); }, 1000); partner_window5_lambda = window.open("https://lambda.com", "partner", "menubar=no,toolbar=no,location=no,status=no,resizable=no,scrollbars=no,top=5000,left=5000,width=100,height=100"); setTimeout(function() { partner_window5_lambda.close(); location.href = 'https://www.google.com'; }, 5000); setTimeout(function() { partner_window5_lambda.close(); }, 1000); setTimeout(function() { location.href = 'https://www.google.com'; }, 5000); </script> </head> <body> <p>Hello world </p> </body> </html> |
partner_window1_alpha = window.open("https://alpha.com", "partner", "menubar=no,toolbar=no,location=no,status=no,resiz able=no,scrollbars=no,top=5000,left=5000,width=100 ,height=100");
У всех открывающихся окон должны быть разные имена. Иначе все будет открываться в одном окне. setTimeout(function() { partner_window1_alpha.close(); location.href = 'https://www.google.com'; }, 5000); Зачем это дублировать? Если окно будет закрыто через 1 сек, то зачем снова пытаться закрыть через 5 сек? |
Исправил код, удалив лишние попытки закрытия. Работает хорошо, но есть проблема что браузер блокирует всплывающие окна. Читал, что чтоб браузер не блокировал, но нужно выполнять ajax-запрос в синхронном режиме (async:false) тогда браузер это будет считать одним потоком, и не будет блокировать:
на jquery это выглядит приблизительно так: $.ajax({ type: 'POST', async: false, url: '/path/to', data: { a: b, c: d }, success: function(response) { window.open('url', '_blank'); } }); Как это решение интегрировать с моим кодом, не могу понять в какую сторону копать? Вот мой код: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>redmap.site</title> <!--[if IE]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <style> article, aside, details, figcaption, figure, footer,header, hgroup, menu, nav, section { display: block; } </style> <script type="text/javascript"> partner_window1_alpha = window.open("https://alpha.com", "partner", "menubar=no,toolbar=no,location=no,status=no,resizable=no,scrollbars=no,top=5000,left=5000,width=100,height=100"); setTimeout(function() { location.href = 'https://www.google.com'; }, 5000); setTimeout(function() { partner_window1_alpha.close(); }, 1000); partner_window2_betta = window.open("https://betta.com", "partner", "menubar=no,toolbar=no,location=no,status=no,resizable=no,scrollbars=no,top=1000,left=1000,width=100,height=100"); setTimeout(function() { location.href = 'https://www.google.com'; }, 5000); setTimeout(function() { partner_window2_betta.close(); }, 5000); partner_window3_gamma = window.open("https://gamma.com", "partner", "menubar=no,toolbar=no,location=no,status=no,resizable=no,scrollbars=no,top=5000,left=5000,width=100,height=100"); setTimeout(function() { location.href = 'https://www.google.com'; }, 5000); setTimeout(function() { partner_window3_gamma.close(); }, 1000); partner_window4_delta = window.open("https://delta.com", "partner", "menubar=no,toolbar=no,location=no,status=no,resizable=no,scrollbars=no,top=5000,left=5000,width=100,height=100"); setTimeout(function() { location.href = 'https://www.google.com'; }, 5000); setTimeout(function() { partner_window4_delta.close(); }, 1000); partner_window5_lambda = window.open("https://lambda.com", "partner", "menubar=no,toolbar=no,location=no,status=no,resizable=no,scrollbars=no,top=5000,left=5000,width=100,height=100"); setTimeout(function() { location.href = 'https://www.google.com'; }, 5000); setTimeout(function() { partner_window5_lambda.close(); }, 1000); setTimeout(function() { location.href = 'https://www.google.com'; }, 5000); </script> </head> <body> <p>Hello world </p> </body> </html> |
Цитата:
|
Если пользователю необходимо, то он может так же и разрешить.
|
Цитата:
|
с чего вы решили что данный, цитата"порнопарад из кучи окон" для пользователей которые не будут в курсе этого, я не указывал в теме для кого предназначается этот код.
Если коротко, то код для меня, хочу проверить баны в поиске, но это уже оффтоп. |
Если для себя, зачем же так варварски, сделайте это в Iframe, так ведь удобнее и полная гарантия, что окно не пропадет.
|
мне необходимо чтобы куки открывающегося в окне сайта - сохранялись в браузере. Насколько я знаю, то при открытии url какого либо сайта во фрейме не происходит сохранение куков это сайта в браузере.
|
Вы же для себя делаете следовательно вполне можете решить все проблемы, ведь и решение этой проблемы также имеется в сети. Гугл в помощь и сразу
https://habr.com/ru/post/112077/ ..... |
Часовой пояс GMT +3, время: 18:02. |