2010-11-18 1 views
0

Wenn ich dies:Wie gibt man dem Benutzer beim Verlassen der Site/Domain Javascript-Alarm?

window.onunload = unloadPage; 

function unloadPage() 
{ 
    alert("Hello world"); 
} 

Dies würde eine Warnung auch verursachen, wenn auf Seiten innerhalb der Website gehen. Jede Möglichkeit, dies zu verwenden, aber nur wenn der Benutzer die Site/Domain verlässt?

+0

Dies kann für Benutzer etwas nervig sein (und könnte für die Zugänglichkeit schlecht sein) - warum nicht nur sicherstellen, dass alle externen Links eine Grafik haben - normalerweise so etwas wie ein Quadrat mit einem Pfeil - und ALT Text wie "(link zur externen Seite) "- und stellen Sie sicher, dass die IMG im gesamten A enthalten ist? – BrendanMcK

Antwort

2

Die kurze Antwort ist, dass Sie nicht können. Die meisten Browser haben dieses Ereignis deaktiviert.

0

Sie können JQuery verwenden, um ein Klickereignis mit allen internen Links auf Ihrer Seite zu verknüpfen. In diesem Klick-Event können Sie eine Flagge setzen. In unloadPage suchen Sie nach diesem Flag und zeigen nur den Alarm an, wenn das Flag nicht gesetzt ist.

+0

können wir das leicht mit sammy machen? –

+0

Sammy basiert auf JQuery, also haben Sie JQuery zu Ihrer Verfügung. Ich weiß nicht, ob Sammy selbst zusätzliche Funktionen implementiert, um dies zu erreichen. – GolezTrol

1
 
window.onbeforeunload=confirmBrowseAway; 

function confirmBrowseAway() { 
    return "If you leave this page now, unsaved input will be lost!"; 
} 

Ich denke Opera ignoriert dies, aber die anderen großen/neuesten Browser ehren es.