• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] IE warnung wenn Seite geschlossen wird, aber nicht über einen Link auf der Seite

dior

New member
Hallo,

ich versuche gerade mit Skriptbeispielen aus dem Netz meine Dokuwiki Seite zu erweitern.

Ich möchte eine Warnung ausgeben wenn der User die Seite mit dem X schließen will.... aber nicht wenn er einen Link innerhalb der Wiki-Seite anklickt.

Das mit der Close Meldung funktioniert :
Code:
<script>

function WarnUser(e) {
    if (!e) e = window.event;
    //e.cancelBubble is supported by IE - this will kill the bubbling process.
    e.cancelBubble = true;
    e.returnValue = 'You have some unsaved data on this page?'; //This is displayed on the dialog

    //e.stopPropagation works in Firefox.
    if (e.stopPropagation) {
        e.stopPropagation();
        e.preventDefault();
    }
}

window.onbeforeunload = WarnUser;

</script>

Wie aber kann ich das so abändern, das wenn ein Link auf eine andere Seite des Wiki geklickt wird die Meldung nicht kommt?
 
Eine Idee wäre, bei allen Links ein Script vorzuschalten, was den onbeforeunload Handler wieder löscht.
Anders wüßte ich im Moment nicht, wie man den wieder raus bekommen sollte.
 
Ich habe etwas vielversprechendes gefunden aber leider bekomme ich noch einen Skriptfehler angezeigt:
SCRIPT438: Das Objekt unterstützt diese Eigenschaft oder Methode nicht.

bei -> $(function(){


HTML:
<script>

window.onbeforeunload = function(){
	return "Achtung! \nWillst du die Seite wirklich schließen? \nDu hast dann keinen Zugriff mehr auf wichtige Informationen .....!";
}
$(function(){
    $('a').click(function(){
        if (this.href.match(location.host)) {
			//alert('Please continue on to our site.');
            window.onbeforeunload = null;
        } else {
			
		}
    });
});
</script>

weiß aber nicht was hier das Problem sein soll....
 
Hmmm.....

Ich habe 2 Dokuwiki. Ein Produktives System und ein Testsystem. Am Testsystem läuft das Skript, am Produktiven nicht...
Wo kann ich nachsehen, ob jQuery eingebunden/aktiviert ist?

- - - Aktualisiert - - -

Danke, hat sich erledigt.... weiß zwar nicht wie, aber jetzt funktioniert es.

ich habe auf beiden Systemen mit
HTML:
<html>
<head>
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
<script>
function myFunction()
{
$("#h01").html("Hello jQuery")
}
$(document).ready(myFunction);
</script>
</head>
<body>
<h1 id="h01"></h1>
</body>
</html>

getestet. Bei beiden das HellojQuery zurückbekommen und jetzt läuft das Skript auch auf dem Produktiven System..

:)
 
Zurück
Oben