![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
var Dateien = "../index2.html?" + document.URL; if (top.frameset_geladen + "" != "okay"){ if(document.images) top.location.replace(Dateien); else top.location.href = Dateien ; } Das funktioniert, soweit ich das beurteilen kann, einwandfrei. Gibt es bei dieser Lösung einen Nachteil, den ich nicht bedacht habe? |
|
| (t == "object" && top.location.replace)) { |
|
Das zweite Problem, für das ich noch keine Lösung gefunden habe, ist der Name des Frameset. Der Name selbst ist zwar konstant, aber die Verzeichnis-Ebene ist ja nicht immer dieselbe. Mal ist es "index2.html", mal "../index2.html" oder gar "../../index2.html". Gibt es dafür auch eine einfache Möglichkeit, das dynamisch ermitteln zu lassen? |
#3
| |||
| |||
|
|
Du kannst location.path auslesen, die Pfadtiefe ermitteln: location.path.match(/\//g).length und dann so viele ../ davorhängen, wie nötig sind: loc = loc.replace(new RegExp("^" + regex_esc(base_path), g), |
|
[...] |
#4
| |||
| |||
|
|
Thomas 'PointedEars' Lahn wrote: 2. Was hat document.images mit top.location.replace() zu tun? Richtig, genau gar nichts. Das ist nicht ganz richtig. Üblicherweise dient doccument.images als ein Unterscheidungsmerkmal zwischen NN2 und NN3. |
|
Laut D. Flanagan wurde location.replace mit NN3 eingeführt. Ich war zwar der Ansicht, daß es erst mit NN4 eingeführt worden sei, aber wenn Flanagan Recht hat, dann bestünde ein Zusammenhang nämlich, daß beide im selben Browser neu eingeführt wurden. |
|
Teste genau das, was Du auch benutzt: if (top.location.replace) { // ... } Diese Empfehlung, so zu testen, ist trotzdem zu beachten, insbesondere, wenn wie hier nur ein einziges Feature tatsächlich genutzt wird. |
![]() |
| Thread Tools | |
| Display Modes | |
| |