Der folgende Code funktioniert gut das einzige Problem ist, dass das click -Ereignis in die Warteschlange eingereiht wird, wie zum Beispiel die setTimeout wird für jeden Klick aufgerufen und das Popup erscheint mehrmals. Wie das Popup nur, wenn Benutzer klickt erscheinen zu lassen und diese Lücke zwischen den einzelnen Popup, um sicherzustellen, können sagen, 4 SekundenJavascript: Wie man die Klickereigniswarteschlange stoppt?
var showpopup = 1;
var check = true;
var seconds = 4000; // change the frequency here current frequency = 2 seconds
var url = "https://www.fb.com"; // change the url here
var strWindowFeatures = "toolbar=yes,scrollbars=yes,resizable=yes,top=0,left=0,width=" +screen.width
+ ",height=" +screen.height;
function popup (event)
{
event.stopPropagation();
if (showpopup === 1)
{
//if
(navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Windows
Phone|Opera Mini|IEMobile/i))
//{
if (check == true)
{
window.open(url , '_blank' , strWindowFeatures);
showpopup++;
check = false;
}
//}
}
else
{
setTimeout(checkValue, seconds);
}
}
function checkValue()
{
showpopup = 1;
check = true;
}
window.onclick = popup(event);
ich, dass 'window.onclick = Popup (event) gedacht hätte,' nicht gesetzt der Click-Handler, weil Sie den Rückgabewert von (Aufruf von Popup mit einem leeren Ereignisparameter) setzen, um Klicks zu behandeln, anstatt die Funktion selbst zu setzen, wie in 'window.onclick = popup;' – James
Entschuldigung, das ist mein Fehler, der den alten gepostet hat Version überprüft nicht – Alien128