Breite bestimmen und übergeben
tobeit
- javascript
Hallo zusammen,
ich such mir mal wieder die Finger wund und bin etwas ratlos, entweder mach ich einen gewaltigen Denkfehler oder aber ich hab irgendwo einen kleinen Dreher im System. Folgendes hab ich mir festgestellt ...
so siehts aus (gekürzt):
Die html:
<head>
<script="JavaScript" type="text/javascript" src="funktionen.js"></script>
</head>
<body onload="breitesbanner();">
<!-- ... -->
<iframe name="banner" style="width:100%; height:66px; overflow:hidden;" scrolling="no" frameborder="0"></iframe>
<!-- ... -->
</body>
funktionen.js:
function breitesbanner()
{
if (window.innerWidth)
{
document.banner.src = 'banner.php?breite=' + window.innerWidth;
}
else if (document.body && document.body.offsetWidth)
{
document.banner.src = 'banner.php?breite=' + document.body.offsetWidth;
}
else
{
document.banner.src = 'banner.php?breite=640';
}
}
Das sollte doch soweit gehen, denn das Skript sollte doch bei dem Client ausgeführt sein bevor der Inhalt des iframes geladen wird!
Hoff ihr könnt mir weiter helfen!! Btw: wie kann ich onload="breitesbanner();" mittels css umsetzen??
Danke, beste Grüße und guts Nächtle, wenn Ihr mir geholfen habt ^^
tobeit
hallo,
<script="JavaScript" type="text/javascript" src="funktionen.js"></script>
Huh? Du bist sicher, daß "script='Javascript'" korrekt ist?
<iframe name="banner" style="width:100%; height:66px; overflow:hidden;" scrolling="no" frameborder="0"></iframe>
Was willst du denn mit einem leeren iFrame, in den gar nichts geladen wird?
Das sollte doch soweit gehen, denn das Skript sollte doch bei dem Client ausgeführt sein bevor der Inhalt des iframes geladen wird!
Wenn es ein richtiges Script wäre und eventuell irgendein Inhalt in deinen iFrame geladen würde, sollte das eigentlich so sein. Aber dein iFrame hat keinen Inhalt, und dein Script wird falsch aufgerufen, also kann eigentlich nur irgendwelcher Murks passieren.
Grüße aus Berlin
Christoph S.
Nun, mein php-Skript schreibt natürlich nachher was raus, hat einige "print"-Anweisungen intus! Mein Javascript soll mir ja entsprechend den src setzen samt Parameter der über die url übergeben und im php-Skript wieder über $_GET geholt wird! Das mit dem "script='Javascript'" bin ich mir nich sicher, habe ich zu mindest soweit aus den gängigen Beispielen übernommen!
Grüße aus ES ... werd demnächst in Deine Nähe kommen ^^
Mahlzeit,
Das mit dem "script='Javascript'" bin ich mir nich sicher, habe ich zu mindest soweit aus den gängigen Beispielen übernommen!
Das wage ich doch stark zu bezweifeln ...
MfG,
EKKi
Ähem, sry, aber diese Antwort erachte ich als Spam ;) könntest mir ja auch verraten, wie es richtig geht!! Aber ich glaube es schon selbst gefunden zu haben ... nämlich statt script=..., language=...
Grüße
Mahlzeit,
Ähem, sry, aber diese Antwort erachte ich als Spam ;) könntest mir ja auch verraten, wie es richtig geht!!
Wieso ich? Dafür gibt's doch http://de.selfhtml.org/javascript/intro.htm#javascriptbereiche@title=SELFHTML ...
Aber ich glaube es schon selbst gefunden zu haben ... nämlich statt script=..., language=...
Das Attribut "language" ist veraltet und sollte nicht mehr benutzt werden.
MfG,
EKKi
Ebenso Mahlzeit (hoffentlich gibts bald Mittag ^^)
Wieso ich? Dafür gibt's doch http://de.selfhtml.org/javascript/intro.htm#javascriptbereiche@title=SELFHTML ...
Weil Du ein hilfsbereiter Mitmensch bist, der jemandem helfen möchte, der den Wald vor lauter Bäumen nicht findet ^^ is ja nicht so als würde ich hier nicht stöbern!!
Das Attribut "language" ist veraltet und sollte nicht mehr benutzt werden.
Jupp, is auch nich nötig, damit gehts ...
<script type="text/javascript" src="funktionen.js"></script>
Mittlerweile läuft auch mein Script aber das Problem is immer noch der Zugriff auf die Quelleangabe des iframes, hiermit ...
window.frames[iframe_name].location
... tuts im IE6.0, aber nicht im Firefox!! Gibt es eine Alternative die in allen Browsern tut??
Grüße und Danke
Mahlzeit,
Wieso ich? Dafür gibt's doch http://de.selfhtml.org/javascript/intro.htm#javascriptbereiche@title=SELFHTML ...
Weil Du ein hilfsbereiter Mitmensch bist, der jemandem helfen möchte, der den Wald vor lauter Bäumen nicht findet ^^ is ja nicht so als würde ich hier nicht stöbern!!
Man nehme: eine Maus
Man tue: auf den von mir geposteten Link draufklicken tun
Man benutze: Augen + Gehirn
Man verstehe: "Wie man Javascript-Bereiche in HTML definiert"
:-)
MfG,
EKKi
Ähem, ja dem Link bin ich noch nich gefolgt, aber den Artikel kenn ich mittlerweile, wusste ich doch, dass du ein hilfsbereiter Mensch bist :)
Grüße und Danke
Mahlzeit,
Ähem, ja dem Link bin ich noch nich gefolgt
Ah. Erklärende Links nicht benutzen, aber meckern/jammern ... ich klink mich dann mal aus dem Thread aus.
MfG,
EKKi
Mittlerweile läuft auch mein Script aber das Problem is immer noch der Zugriff auf die Quelleangabe des iframes, hiermit ...
window.frames[iframe_name].location
... tuts im IE6.0, aber nicht im Firefox!! Gibt es eine Alternative die in allen Browsern tut??
"tut nicht" - hilf nicht
Du kennst die Fehlerkonsole?
Struppi.
Du kennst die Fehlerkonsole?
Jein, ich bins nicht gewohnt sie zu verwenden, folgendes liefert sie mir ...
"Fehler: uncaught exception: [Exception... "" nsresult: "0x805e000a (<unknown>)" location: "JS frame :: http://localhost/tobeit/funktionen.js :: breitesbanner :: line 6" data: no]" -> für mich würde dies nun bedeuten er kennt das Objekt nicht!!
Grüße
Also nach etwas Recherche hab ich festgestellt, dass es wohl nicht an dem Zugriff auf die Objekteneigenschaft src des iframes liegt, sondern viel mehr an der Art und Weise wie Firefox die Seite generiert. Denn so gesehen greif ich auf ein Element zu, dass bis zu diesem Moment noch nicht existiert, da sich die Seite noch in der "Creation" befindet!!
Jetzt fragt sich nur für mein Projekt, wie kann ich ...
wenn ...
1. JavaScript nichts an PHP zurück geben kann, da JS beim Benutzer ausgeführt wird und bis dahin PHP schon interpretiert wurde
2. ich meinem PHP-Script nichts per GET-Methode mit geben kann, weil ich zu dem Zeitpunkt als JS ausgeführt wird, das iframe, in dem ich die src angeben möchte, noch nicht existiert
Derzeit bin ich an dieser Stelle ratlos ...
Grüße