WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   html - merkwürdiges frameproblem (http://www.wcm.at/forum/showthread.php?t=48626)

RaistlinMajere 05.03.2002 18:47

html - merkwürdiges frameproblem
 
normalerweise bin ich es ja gerne, der anfängern mit frameproblemen in html aus der patsche hilft, wenn ichs irgendwo kann, aber diesmal hab ich selbst eins und zwar ein sehr merkwürdiges:

habe in einem navigations html-file angegeben, daß alle verlinkten punkte im frame namesn "data" geöffnet werden sollen, das per

<base target="data">

soweit, so gut, nur habe ich im frame data php-files, die sich selbst mit gewissen übergabeparametern wieder aufrufen (ähnlich einer submitfunktion, nur mit submit kann ichs nicht machen, muß es über js per

document.location="selbesfile.php?übergabeparamete r..." machen

sobald auf einen button geklickt wird. funzt auch, nur wenn ich, nachdem sich das file im dataframe selbst neu geladen hat, in der navi auf einen link klicke, der sich ja im dataframe laden sollte, geschieht das nicht!
ich bin zufällig draufgekommen, daß wenn grad ein anderes browserfenster mit einem frame geöffnet hat, der auch "data" heißt, sich auf einmal das file, auch wenn die beiden dargestellten seiten nix miteinander zu tun haben, dort öffnet!
ansonsten, wenn kein fenster mit einem weiteren dataframe offen ist, öffnet sich gar nix.

offensichtlich dürfte die targetinformation irgendwie abhanden kommen, nur frage ich mich, wie das sein kann, da ich ja nur im dataframe reloade, nicht im navigationsframe. hab übrigens schon probiert, in letzterem die links einzeln mit target="data" zu versehen (was eigentlich nix ändern dürfte), hat aber erwartungsgemäß nix gebracht.

käptn 05.03.2002 20:32

den fehler schon im script (js) gesucht?

moorhahn 05.03.2002 21:10

funkt es beim ersten mal oder überhaupt nicht? wo hast du das <bsae target=data> hingeschrieben? ins navigationsfile oder in das frameset? bei den ganzen files verwirrt einen das oft und dann schreibt man was in files wo es eigentlich nicht hingehört.

RaistlinMajere 05.03.2002 21:37

das <base target="data"> steht natürlich in der navi, wos ja auch hingehört. und beim 1. mal funzts ja auch, nur sobald sich das file im dataframe selbst neu lädt, gehts nimma. :confused:

RaistlinMajere 05.03.2002 21:38

Zitat:

Original geschrieben von käptn
den fehler schon im script (js) gesucht?
kann mir kaum vorstellen, was da falsch sein soll, alles, was das js großartiges macht, ist mit document.location dasselbe file nochmal aufrufen, der rest ist nur auslesen von formularen und statisches html.

snowman 05.03.2002 22:00

probier mal eine js abfrage nach dem windows.namen im php-file
if (!self.name) self.name = 'data';

oder vielleicht ist es auch ein caching-problem??

gruss,
snowman

käptn 05.03.2002 22:02

probiers mal mit parent.MAINFRAME.location.href ="woswasi"

oder

mit onclick="parent.NAVIFRAME.location.href="jogenau" im link den naviframe gleichzeitig zu aktualisieren....


gruss

RaistlinMajere 05.03.2002 23:18

Zitat:

Original geschrieben von snowman
probier mal eine js abfrage nach dem windows.namen im php-file
if (!self.name) self.name = 'data';

das wars! darauf muß man mal kommen, eines der formularfelder, welches einen namen enthält, lese ich in js aus und speichere den inhalt sinnvollerweise in eine variable name. nur... diese variable ist offensichtlich von js reserviert, und zwar für den namen des frames, in dem sich die datei öffnet. nun sollte sich also wegen dem bug das file in einem frame öffnen, der denselben namen trägt, wie der name, den ich aus dem formular ausgelesen habe... und diesen frame gibts natürlich nicht!
damit erklärt sich auch díe tatsache, daß sich bei einem 2. browserfenster, das zufällig einen frame namens "data" enthielt das file dort öffnete, offensichtlich sucht der ie einfach, wenn er im selben fenster nicht den gewünschen frame findet (denn der name des frames wurde ja geändert) irgendeinen anderen frame, der denselben namen hat, wenn der aber in einem anderen fenster drin ist, scheint das den ie nicht sonderlich zu stören.
ich hab mir also einfach beim seitenaufruf per alert(self.name) den framenamen ausgeben lassen, beim 1. aufruf wars "data", aber danach wars der inhalt des eingabefelds. somit war der fehler gefunden (hab einfach die variable "name" umbenannt, aber da muß man auch mal drauf kommen! :eek:

auf jeden fall vielen dank!

snowman 06.03.2002 09:44

gern geschehen.

gruss,
snowman


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:35 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag