"Aktualisieren"- und "Abbrechen"-Buttons aus IE6 programmieren
Frank
- javascript
Hi,
ich arbeite mit dem IE6 in einer Oracle-Portal-Umgebung
Die Übung ist,die Nav-Leiste vom Explorer auszublenden und eine eigene zu basteln - also mit Zurück, Vor, Home, Druck ...
Also hab ich mit einer Startseite und windows.open() und den entsprechenden Parametern ein Fenster mit zwei Frames erstellt ...
klappt auch fast alles nur hab ich bei dem "Abbruch"-Button keinen Plan und das "Aktualisieren" habe ich mit
parent.frames[1].location.reload();
versucht, aber es kommt ein Berechtigungsfehler beim Zugriff auf die Portalseite. Scheinbar blockt das Portal aus Sicherheitgründen doch einiges ab.
auch ein window.location.reload(); o.ä. refresht nur das obere Frame
Aber merkwürdigerweise funktioniert das refresh vom Browser - aktualisiert ganz sauber beide Frames - wie macht das MS mit dem refresh?
Wer kann mir bei den beiden Sachen helfen?
Frank
hi,
klappt auch fast alles nur hab ich bei dem "Abbruch"-Button keinen Plan
und das "Aktualisieren" habe ich mit
parent.frames[1].location.reload();
versucht, aber es kommt ein Berechtigungsfehler beim Zugriff auf die Portalseite. Scheinbar blockt das Portal aus Sicherheitgründen doch einiges ab.
vermutlich es ist eher die same origin policy, die dir den zugriff auf seiten von anderen domains verbietet.
Aber merkwürdigerweise funktioniert das refresh vom Browser - aktualisiert ganz sauber beide Frames - wie macht das MS mit dem refresh?
ganz normal, wie jeder andere browser auch - diesen button benutzen "darfst" du, weil dabei kein möglicherweise schädliches JS im spiel ist - ob die frameseiten dabei von unterschiedlichen domains kommen, spielt keine rolle.
per javascript bist du in der situation aber einigen einschränkungen unterworfen, siehe obiges stichwort.
gruß,
wahsaga
Hi,
Danke für die Antwort.
window.stop liefert im js keine true bei mir ??? kommt immer Fehler, egal wie ich''s einbinde
und wegen den evtl. policies ... sollte eigentlich klappen, die lokalen domänen sind im browser freigegeben - na gut - aber wie geht's sonst - ohne js?
Oder eine emulation von F5 per js - irgendwo hatte ich da mal was gelesen
Frank
Moin!
window.stop liefert im js keine true bei mir ??? kommt immer Fehler, egal wie ich''s einbinde
Das ist keine Eigenschaft, sondern eine Methode. Siehe http://de.selfhtml.org/javascript/objekte/window.htm#stop
und wegen den evtl. policies ... sollte eigentlich klappen, die lokalen domänen sind im browser freigegeben - na gut - aber wie geht's sonst - ohne js?
Das hat damit nichts zu tun.
Wenn dein Frameset in dem einen Frame von "http://internserver1/seite.html" lädt und in dem anderen Frame deine Buttons hat, die nicht von "http://internserver1/" kommen, dann darf dein Javascript nicht auf die Inhalte des anderen Frames zugreifen.
Diese Beschränkung besteht grundsätzlich, ich habe noch nie davon gehört, dass es zur Umgehung dieser Grenze im IE irgendeine Einstellmöglichkeit gibt - denn das wäre dann selbstverständlich etwas, was sehr viele böse Buben interessieren würde - und bei den unter dem Strich rauskommenden Programmierkünsten von Microsoft wäre es sicherlich schon mehrfach zu patchen gewesen, weil das Beschränken auf die "lokale Zone" zu umgehen war...
Oder eine emulation von F5 per js - irgendwo hatte ich da mal was gelesen
location.reload() - genauso wie history.back() für den "Zurück"-Button.
- Sven Rautenberg