Показать сообщение отдельно
  #3 (permalink)  
Старый 06.07.2020, 12:05
Кандидат Javascript-наук
Отправить личное сообщение для mik888em Посмотреть профиль Найти все сообщения от mik888em
 
Регистрация: 21.06.2020
Сообщений: 145

Исправил код, удалив лишние попытки закрытия. Работает хорошо, но есть проблема что браузер блокирует всплывающие окна. Читал, что чтоб браузер не блокировал, но нужно выполнять 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>
Ответить с цитированием