2015-08-29 3 views
-1

У меня есть проблема, надеюсь, что кто-нибудь здесь поможет мне!javaScript - всплывающее окно в новой вкладке

Может кто-нибудь, пожалуйста, помогите мне отредактировать этот код javascript?

Проблема заключается в том, когда я вхожу на страницу с этим кодом, всплывающее окно запускается автоматически. Можно ли сделать это вручную, создав кнопку, которая запускается и приостанавливает всплытие на новой вкладке? Спасибо!

<script type="text/javascript"> 
var timer = '<?=$timer;?>'; 
view_go = true; 
function start() { 
    if (view_go) { 
     if (timer > 1) { 
      timer = timer - 1; 
      $("#seconds").html(timer); 
      setTimeout("start();", 1000); 
     } else { 
      $("#seconds").html("0"); 
      var response = '<?=$site2['id'];?>'; 
      var userid = "<?=$data['id'];?>"; 
      $.ajax({ 
       type: "POST", 
       url: "earn-traffic-completed.php", 
       data: "site=" + response + "&user=" + userid, 
       success: function(msg) { 
        refreshpage(); 
       } 
      }); 
     } 
    } 
} 
view_go = true; 
function play() { 
    if (!view_go) { 
     view_go = true; 
     start(); 
    } 
    return false; 
} 
function pause() { 
    if (view_go) { 
     view_go = false; 
    } 
    return false; 
} 
var myWindow; 

function openWin() { 
    myWindow = window.open("<?=$url;?>", "<?=$site['name'];?>", "toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=yes, copyhistory=no, width=800,height=600, top=100, left=400,"); 
} 

openWin(); 

var timing = setInterval(function() { 
    if(myWindow.closed) { 
     clearInterval(timing); 
     window.location = '<?=$site['url'];?>/index.php'; 
    } 
}, 1000); 

setTimeout(function() { 
    if (!myWindow || myWindow.closed || myWindow.closed === "undefined" || myWindow === "undefined" || parseInt(myWindow.innerWidth, 10) === 0 || myWindow.document.documentElement.clientWidth !== 800 || myWindow.document.documentElement.clientHeight !== 600) { 
     alert("ERROR! - Please enable popups and then refresh the page."); 
     pause(); 
    } 
}, 1000); 
function closeWin() { 
    if (myWindow) { 
     myWindow.close(); 
     pause(); 
    } 
} 
checkWin(); 
function checkWin() { 
    if (!myWindow) { 
     alert('ERROR! - Please enable popups and then refresh the page.'); 
     pause(); 
     setTimeout("checkWin();", 10); 
    } 
    if (myWindow.closed) { 
     pause(); 
     setTimeout("checkWin();", 10); 
    } else { 
     setTimeout("checkWin();", 10); 
    } 
} 
start(); 
     function refreshpage() 
     { 

      window.location = document.location.href; 
     } 
     </script> 

ответ

0

В коде удалить вызов openWin();, который у вас есть только после того, как функция openWin объявлена.

Добавить кнопку на HTML, например:

<button id="openWinButton">Open Window</button> 

Добавьте следующий JavaScript в месте вызова openWin() который добавляет кнопку слушателя событий для кнопки, когда кнопка мыши функция обработчик вызывает ваш openWin функция

document.getElementById('openWinButton').addEventListener('click',function(e) { 
    e.preventDefault(); // prevent the default action of the triggering element 
    openWin(); // call your method to open the window 
}); 
+0

смотрите ниже данного ответ ... выглядит так же .. – Lal

+0

стоп-таймер и даже если я нажмите кнопку, чтобы открыть всплывающее, отсчет не работает. проверьте мой JavaScript и скажите, как я могу добавить кнопку для паузы и открыть всплывающее окно на новой вкладке. Большое спасибо! –

+0

Пожалуйста, есть ли способ открыть его на новой вкладке? –

Смежные вопросы