Link > Alert > Okay - Weiterleitung / Abbrechen - Nix

tuFrogs

Mitglied
Hi Leute.

Also ich wollte auf eine Website die Kategorie Anfahrt bringen und hatte mir überlegt bei GoogleMaps die Adresse zu suchen und dann auf diesen Link weiterzuleiten, vorher aber soll der User gewarnt werden dass das geschieht. Also ich, als absoluter Anfänger ins Sachen JavaScript, bissl im Netz gesucht und was zusammen geschustert..

Der Code vom Skript:
Code:
	<script language=javascript>
	function dialog()
	{
		var eingabe;
		eingabe=confirm("Du wirst nun auf GoogleMaps umgeleitet!");
		if(eingabe==true)
		{
			/*self.location.href="?site=6";*/
			GoogleMaps = window.open("?site=6", "", "width=screen.width,height=screen.height,left=0,top=0");
			GoogleMaps.focus();
		} else {
			self.location.href="?site=1";
		}
	}
	</script>

Der Code vom Link:
Code:
<a href="javascript:onClick=dialog()"

Man klickt also drauf, bestätigt die Warnung mit okay und es öffnet sich im neuen Fenster dann den gewünschten Inhalt.. Gestern abend auf FF2 getestet und es klappte, nur war das Fenster quadratisch. Gerade eben getestet und es funktionierte so wie es soll.. Gleich mal einen Bekannten gesagt er möchte das auch mal ausprobieren (IE6 Nutzer ;)) und bei ihm geht natürlich nichts, nicht mal die Umleitung auf die Startseite beim Abbrechen, das geht wenigstens im IE7.

Kann mir bitte einer sagen wo der Fehler liegt? Oder hat jemand vielleicht eine andere Lösung für mich parat?
 
Liegt am Aufruf. Das hier ist nämlich ein Javascript-Alptraum:
HTML:
<a href="javascript:onClick=dialog()"
Der "javascript:"-Syntax sollte eigentlich schon längst verschwuden sein. Events wie onclick werden klein geschrieben. Events gehören in das Tag und haben im href-Attribut nichts verloren. Kein Wunder, dass kaum ein Browser versteht, was du meinst.

Eigentlich sollte es so aussehen:
HTML:
<a href="#" onclick="dialog(); return false;">...</a>

Dass das Fenster quadratisch ist, liegt daran, dass "screen.width" und "sreen.height" hier dadurch, dass sie innerhalb der Anfünrungszeichen stehen als teil des Strings und nicht als Eigenschaft interpretiert werden. Außerdem heißt es "screen.availHeight" und "screen.availWidth", weil die Windows-Startleiste und sowas ja auch noch Platz wegnimmt.. Auch die else-Anweisung erscheint mir reichlich sinnfrei. Versuchs mal so:
Javascript:
function dialog() {
    if( confirm("Du wirst nun auf GoogleMaps umgeleitet!") ) {
        GoogleMaps = window.open("?site=6", "", "width="+ screen.availWidth +",height="+ screen.availHeight +",left=0,top=0");
        GoogleMaps.focus();
    }
}
 
Zuletzt bearbeitet:
Hmm, im IE6 soll immernoch nix passieren.. IE7 geht, FF2 auch..

Wie kann ich eigentlich realisieren das ein extra DIV eingeblendet wird indem dann steht das Javascript doch bitte aktiviert werden soll, wenn es zum Beispiel geblockt wird.
 
Zuletzt bearbeitet:
Schau dir bei Selfhtml mal das "noscript"-Tag an. Alternativ kannst du das div auch permanent per html einblenden und dann onload per Javascript ausblenden.
 

Neue Beiträge

Zurück