JavaScript von PHP generieren lassen
trinita
- javascript
0 ChrisB0 Der Martin
Hallo zusammen,
ich lasse mir für ein Projekt JavaScript von einem PHP-Skript namens "dynamic.js.php" generieren und binde das wie folgt in meiner HTML-Datei ein:
<script src="/javascript/dynamic.js.php?var=example" type="text/javascript"></script>
Bei mir funktioniert das soweit reibungslos in FF 3.0, IE6 und IE7 ... Seht Ihr mit dieser Art von dynamisch erzeugten JavaScript und der Einbindung irgendwelche Probleme, z.B. in anderen Browsern? Oder ist dieses Vorgehen aus irgendwelchen anderen Gründen nicht empfehlenswert? (Ich habe ein wenig nach diesem Thema mit den Schlagwörtern JavaScript, dynamisch, PHP, CGI gegoogelt, aber es scheint, als würde das nicht besonders häufig eingesetzt. Wieso?)
Viele Grüße,
trinita
Hi,
Seht Ihr mit dieser Art von dynamisch erzeugten JavaScript und der Einbindung irgendwelche Probleme, z.B. in anderen Browsern? Oder ist dieses Vorgehen aus irgendwelchen anderen Gründen nicht empfehlenswert?
Wenn sich an dem erzeugten Scriptcode selten etwas ändert, dann wäre es eher unsinnig, ihn so auszuliefern, dass die Browser ihn nicht cachen dürfen (was bei PHP-Scripten allgemein der Default ist) und somit jedes Mal auf's neue anfordern.
MfG ChrisB
Hi,
<script src="/javascript/dynamic.js.php?var=example" type="text/javascript"></script>
Bei mir funktioniert das soweit reibungslos in FF 3.0, IE6 und IE7 ... Seht Ihr mit dieser Art von dynamisch erzeugten JavaScript und der Einbindung irgendwelche Probleme, z.B. in anderen Browsern?
nein, eigentlich nicht - vorausgesetzt, der MIME-Type der erzeugten Ressource stimmt. Dann kann der Browser nicht mehr erkennen, ob die gelieferten Daten statisch auf dem Server liegen, von PHP dynamisch generiert werden oder gar on-the-fly von einem fleißigen Inder geschrieben werden.
Oder ist dieses Vorgehen aus irgendwelchen anderen Gründen nicht empfehlenswert?
Das Thema Caching hat Chris ja schon angesprochen (wäre mir jetzt nicht eingefallen). Mir will nur nicht einleuchten, warum du sowas überhaupt machen willst.
So long,
Martin
Hallo,
nein, eigentlich nicht - vorausgesetzt, der MIME-Type der erzeugten Ressource stimmt.
Ich nehme an, den MIME-Type schicke ich als header voraus?
header("Content-Type: application/javascript");
Mir will nur nicht einleuchten, warum du sowas überhaupt machen willst.
Mein JavaScript - eine Google Maps Applikation - braucht jede Menge Werte aus einer Datenbank. Das scheint mir die einfachste Art und Weise zu sein, diese Werte für das Script bereitzustellen.
Viele Grüße,
trinita
[latex]Mae govannen![/latex]
Ich nehme an, den MIME-Type schicke ich als header voraus?
header("Content-Type: application/javascript");
Ja, das sollte funktionieren.
Damit jetzt niemand[1] application/javascript ins type-Attribut setzt:
<http://annevankesteren.nl/2006/05/javascript-mime-type>
<http://annevankesteren.nl/2005/02/javascript-mime-type>
<http://annevankesteren.nl/2003/08/the-mime-type-of-javascript>
[1]
Cü,
Kai
--
„It's 106 miles to Chicago, we got a full tank of gas, half a pack of cigarettes,
it's dark, and we're wearing sunglasses“. „Hit it!“
[Foren-Stylesheet](http://kaichen.in/selfhtml/#h_stylesheet) [Site](http://knrs.de/) [Selfzeugs](http://kaichen.in/selfhtml/)
SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?
Hallo
Mir will nur nicht einleuchten, warum du sowas überhaupt machen willst.
Mein JavaScript - eine Google Maps Applikation - braucht jede Menge Werte aus einer Datenbank. Das scheint mir die einfachste Art und Weise zu sein, diese Werte für das Script bereitzustellen.
Wäre es nicht eine Möglichkeit, die Skriptdatei normal auszuliefern und die Werte dynamisch in einem <script>-Bereich im <head>-Block des Dokuments bereitzustellen?
Tschö, Auge
vorausgesetzt, der MIME-Type der erzeugten Ressource stimmt.
Den MIME-Typ ignorieren so ziemlich alle Browser. Aber es schadet nicht, einen MIME-Typ nach RFC 4329 zu senden (wie etwa application/javascript). Die meisten JS-Resourcen werden allerdings aus historischen Gründen mit dem nicht standardisierten Typ application/x-javascript ausgeliefert.
Mathias
Hi,
vorausgesetzt, der MIME-Type der erzeugten Ressource stimmt.
Den MIME-Typ ignorieren so ziemlich alle Browser.
Ja? Ich dachte, insb. FireFox wäre sehr empfindlich, was bspw. mit dem Default-Content-Type für PHP-Scripte, also text/html, ausgelieferte JS-Ressourcen angeht.
MfG ChrisB
Hallo,
vorausgesetzt, der MIME-Type der erzeugten Ressource stimmt.
Den MIME-Typ ignorieren so ziemlich alle Browser.
Ja? Ich dachte, insb. FireFox wäre sehr empfindlich, was bspw. mit dem Default-Content-Type für PHP-Scripte, also text/html, ausgelieferte JS-Ressourcen angeht.
ich meine auch, wir hätten hier vor nicht allzu langer Zeit mal jemanden gehabt, der im Firefox Probleme mit einem Javascript hatte, und dann sah es so aus, dass das Script mit einem "falschen" Content-Type ausgeliefert wurde.
So long,
Martin
dann sah es so aus, dass das Script mit einem "falschen" Content-Type ausgeliefert wurde.
Vielleicht hatte es den Anschein, verifizieren lässt sich die Vermutung jedoch nicht. Auch text/x-js wird hingenommen (Firefox 2, 3, 3.5).
Mathias
Ich dachte, insb. FireFox wäre sehr empfindlich, was bspw. mit dem Default-Content-Type für PHP-Scripte, also text/html, ausgelieferte JS-Ressourcen angeht.
Gerade nochmal geprüft: Nein, ist er nicht.
Mathias