Hi All,
also wenn ich meine Frames-Seiten im Netscape der Generation 4 resize, d.h. die grösse ändere , dann hauen alle meine ext. eingebundenen Style-Sheets ab! ich hab folgende versucht:
function nnreload(){
if (document.layers) {
onresize=document.reload()
break;
}
}
Den Break; brauch ich, damit sich der NN nicht aufhängt, denn er macht ne endlos-Schleife daraus. Wer weiss warum obiges beispiel nicht funktioiniert. PS: Dieser Block hängt im Header eines Framesets, also der Index-Datei die dann die Frames schnürt.
was man sich in Javascript-Console anschauen kann.
Wenn, dann vielleicht so:
onresize=document.reload;
Asserdem hat das document-Object keine reload-Methode. Eher das location-Object. Fuer den Netscape halte ich mich immer an meine Entwicklung und die lautet so:
function regenerate()
{
window.location.reload();
}
if (window.document.layers) {
window.document.captureEvents(Event.RESIZE);
window.onresize = regenerate;
}
Das der Netscape bei einem Resize die StyleSheets wie StyleShit behandelt und alles boese durcheinanderwirbelt habe ich auch erfahren. Ich habe mir da einen sadomaso-Trick ausgedacht mit dem ich den netscape ordentlich festschnuerre
Man muss den gesamten Inhalt seiner Seite in verschachtelte Tabellen legen. Am besten auch die width und height von der table bzw. td/tr explizit setzten. align=„left“ sollte auch in der Tabelle stehen. Wenn ich eine Tabelle rechtsbuendig mit align=„right“ setze, dann haut er sie mir bei einem resize trotzdem um die Ohren und knallt sie nach links.
Wow du bist ein Gott. Nein mein ich nicht blasphemisch, aber da können wir uns im forum philosophie nochmal treffen.
auf jeden funktioniert deine lösung obwohl ich überhaupt nicht deine library per .hs datei vorher einlese! wie geht das??? dieses captureEvent ist sehr wichtig oder…aber kapieren würd ichs gern…hilfst du mir?
window.document.captureEvents(Event.RESIZE);
also captureEvents ist eine Methode des document bzw. des window-objektes odeR? aber was ist mir Event.Resize, ist dass nicht etwas aus DEINER library???
bei drei Frames kannst es auch ueber for-Loop machen wenn Du willst:
for (var i=0; parent.frames.length; i++) {
parent.frames[i].location.reload();
}
Es kommt aber immer drauf an, wo das Script steht. Wenn es in einem Frame als Child steht, dann muss Du natuerlich auf den Parent gehen. Steht es aber in der Datei, die das Frameset definiert, dann kannst du auch self verwenden.
Hast Du aber ein Frameset, in dem ein Frame widerum ein Frameset hat, dann gehst Du ueber Parent nur auf den naechst hoeheren Set, aber nicht auf den allerhoesten! Dann sollte man statt parent oder self eben top als Schluesselwort verwenden.
Andere Bezeichner fuer das window-Object je nach Situation und Aufbau sind:
parent --> naechst hoeheres Elternfenster
parent.frames[i] --> Kindfenster eines Parent
top --> TopMost Elternfenster (also das allerhoechste)
self --> selbst als Fenster
opener --> das Fenster das diese geoeffnet hat
captureEvents(), releaseEvents(), routeEvents() disableExternalCapture() (Fremdüberwachung verhindern)enableExternalCapture() sind ganz spezielle Features des NS4 und kennt der IE nicht. Aber nicht jedes Event muss man einfangen. onMouseover/out geht auch ohne Einfang.
cool! ich hab mal gelesen, da hatte sich mintert oder war es schwarz, naja diese neue javascript workshop buch, ist nicht schlcht, auf jeden sagte da der author: ich verstehe nicht, warum manche menschen self und this verwechseln.
hmm ich schon, ich verwechseln das auch ständig…warum?
self ist halt eine spezielle Bezeichnung des Window-Objektes, was fest in JS implementiert ist. Aber man kann ja auch eigene Objecte erzeugen. Und wenn diese dynamisch erzeugte Objekt sich selbst anspricht, dann macht man diese ueber this.
Beispiel:
…
function onGetOptionIdx(paramThis)
{
alert(paramThis.selectedIndex);
}
Bei einem onChange-Event uebergibt die selectBox sich selbst als Referenz an die Methode onGetOptionIdx. Mit diesem Verweis kann dann die Funktion onGetOptionIdx() an dem select-Element rumfuschen.