webentwicklung-frage-antwort-db.com.de

Gehen Sie zu URL nach OK, wenn die Warnung gedrückt wird

Ich muss sicherstellen, dass der Browser zu einer anderen URL wechselt, wenn der Benutzer in einem JavaScript-Warnfenster auf OK klickt. Ist das möglich?

43
Ondrej

Ich vermute, Sie meinen in einem confirm Fenster (dh Ja/Nein-Optionen).

if (window.confirm('Really go to another page?'))
{
    // They clicked Yes
}
else
{
    // They clicked no
}
35
Joe

Was meinst du mit "stellen Sie sicher"?

alert('message');
window.location = '/some/url';

leitet den Benutzer um, nachdem er im Warnfenster auf OK geklickt hat.

56
penartur

Eine Warnung gibt keinen Wert zurück. Tatsächlich gibt sie undefined zurück. Der einfachste Weg, den ich derzeit finde, besteht darin, die Warnung wie folgt zu konditionieren

if(!alert("my text here")) document.location = 'http://stackoverflow.com/';

Ein besserer Weg ist die Verwendung der JavaScript-Funktion confirm ()

if(confirm("my text here")) document.location = 'http://stackoverflow.com/';

Eine andere Möglichkeit ist natürlich, sich selbst zu warnen

14
David Diez

Ich denke, was Sie brauchen, ist das:

if(confirm("Do u want to continue?")) {
    window.location.href = "/some/url"
}
8
Subodh

Ja, leiten Sie einfach direkt nach dem alert() -Aufruf um:

alert('blah blah');
location.href = '....';
6
ThiefMaster

Wenn es für die Barrierefreiheit ist und Sie jeden Link auf der Seite anhören und dann prüfen möchten, ob Sie die aktuelle Site einer anderen Domain überlassen, lesen Sie, was ich geschrieben habe, und erweitern Sie Joes Antwort

        $('a').on('click', function() {

            if ( this.Host !== window.location.Host ) {
                if ( window.confirm('Really go to another page?') ) {
                    // They clicked Yes
                    console.log('you chose to leave. bye.');
                }
                else {
                    // They clicked no
                    console.log('you chose to stay here.');
                    return false
                }
            }
        }); 
0
shmotam