Netscape
stephanbauer
- javascript
Hi zusammen,
ich kenne mich nicht sonderlich mit JavaScript aus, versuche es zu vermeiden.
Hier habe ich das Problem, dass ich den relativen Pfad von der nav.php (in der das Script ausgeführt wird) zur Datei im "main" -Frame haben will (start.php mit dem Frameset ist im gleichen Verzeichnis wie nav.php).
(ich will eine Sprachänderung, die die Seite in diesem Frame beibehällt)
Doch leider will das unten stehende Script nicht unter Netscape laufen (sonst aber überall)
Woran könnte das liegen?
<script language="JavaScript">
function set_lang( l ) {
jetzt_nicht_moeglich = "[de] Sprachänderung während des Bestellvorgangs nicht möglich!\n\n";
jetzt_nicht_moeglich += "[en] (das gleiche in englisch etc..)\n\n";
nav = window.location.href;
base = nav.slice( 0, nav.search(/nav.php/) );
relative = parent.main.location.href.replace( base, "" );
if ( relative.match( /seite1/ ) || relative.match( /seite2/ ) || relative.match( /seite3/ ) ) window.alert( jetzt_nicht_moeglich ); //auf diesen Seite ist keine Sprachänderung möglich
else parent.location.href = "start.php?&set_lang=" + l + "&main=" + encodeURIComponent(relative); //start.php öffnet in "main" die Datei in der Variable $main
}
</script>
Hallo, Stephan,
was mir zunächst mal unabhängig von Deiner Fragestellung auffällt: hast Du nicht ein paar Anführungszeichen und die sprachabhängige Setzung der Variablen jetzt_nicht_moeglich vergessen (ungetestet s.u.)?
Grüße,
Sebastian
--------------- neue Version ---------------
<script language="JavaScript">
function set_lang(l)
{
jetzt_nicht_moeglich = l=="de"?"[de] Sprachänderung während des Bestellvorgangs nicht möglich!\n\n":"[en] (das gleiche in englisch etc..)\n\n";
nav = window.location.href;
base = nav.slice(0,nav.search("/nav.php/"));
relative = parent.main.location.href.replace(base,"");
if(relative.match("/seite1/")||relative.match("/seite2/")||relative.match("/seite3/")) {
// auf diesen Seiten ist keine Sprachänderung möglich
window.alert(jetzt_nicht_moeglich);
}
else {
// start.php öffnet in "main" die Datei in der Variable $main
parent.location.href = "start.php?&set_lang=" + l + "&main=" + encodeURIComponent(relative);
}
}
</script>
was mir zunächst mal unabhängig von Deiner Fragestellung auffällt: hast Du nicht ein paar Anführungszeichen und die sprachabhängige Setzung der Variablen jetzt_nicht_moeglich vergessen (ungetestet s.u.)?
Ja das hatte ich mir auch mal überlegt.
Aber ich habe mich entschieden den Hinweis in allen Sprachen auszugeben (weden max. 4) damit einer, der sich verklickt und die Sprache nicht versteht nicht in Panik verfällt ;)
(deshalb die folgende Zeile mit +=)
Ich hatte gestern keine Zeit mehr,
ich hoffe heute liest das noch jemand:
Also noch jemand ideen was man ändern muss damit es unter Netscape läuft (ist mir wichtig!)