Ich verwalte eine ziemlich große Website (einige hundert Seiten) und ich bin auf der Suche nach einer Möglichkeit, Javascript auszuführen - dann öffnen Sie einen Link in der aktuellen Registerkarte und einen anderen in einem neuen Tab. Die Href-Verknüpfung funktioniert nach dem Countdown ordnungsgemäß. Aber die js-Verbindung wird ignoriert. Wie man beide öffnet, nachdem der Countdown abgelaufen ist?Öffnen Sie zwei Links, nachdem JavaScript ausgeführt wurde. One in einem neuen Tab in
html
<a href="http://www.example.com/here" onclick="startTimer(this);return false; window.open('http://www.example.com/newtab');">anchor text</a>
js
<script>
function startTimer2(theLink2) {
userInput = 25;
if(userInput.length == 0){
alert("Please enter a value");
} else {
var numericExpression = /^[0-9]+$/;
function display1(notifier, str) {
document.getElementById(notifier).innerHTML ='Please Wait: ' + str;
}
function toMinuteAndSecond(x) {
return Math.floor(x/60) + ":" + x%60;
}
function setTimer(remain, actions) {
(function countdown() {
display1("countdown", toMinuteAndSecond(remain));
actions[remain] && actions[remain]();
(remain -= 1) >= 0 && setTimeout(countdown, 1000);
})();
}
setTimer(userInput, {
0: function() { window.location=theLink2.href; }
});
}
}
</script>
Dies sofort das Fenster öffnet. Ich möchte es warten, bis die Timer-Funktion beendet ist. Es verzögert aber immer noch die zweite Verbindung ... also Fortschritte. – Dario
Ich bin zwar stundenlang dabei gewesen, aber meine js ist nicht gut, aber eine Lösung dafür ist, mich zu umgehen – Dario
Dann sollten Sie 'window.open()' in der Funktion aufrufen, die ausgeführt wird, wenn der Timer beendet ist, nicht in der ' onclick'. – Barmar