![]() |
[PHP/JS/HTML] Content-Type deaktiviert JS?
Hallo,
die folgende Frage ist rein interessehalber. Ich habe mal versucht, diesen PHP-Header zu senden:
Code:
Es funktioniert dann alles, nur JavaScript will nicht mehr. Mein JS sieht u.a. so aus:
header('Content-Type: application/xhtml+xml; charset=utf-8');
Code:
In "my_js_file.js" verwende ich die Variable "PATH". Diese ist bei dem genannten Header in der JS-Datei nicht definiert.
<script type="text/javascript">
<!-- var PATH = '...'; //--> </script> <script type="text/javascript" src="... my_js_file.js"></script> Sende ich den Header so, dann geht alles:
Code:
Woran liegt das? :gruebel:
header('Content-Type: text/html; charset=utf-8');
Grüße, Matze |
Re: [PHP/JS/HTML] Content-Type deaktiviert JS?
Zitat:
|
Re: [PHP/JS/HTML] Content-Type deaktiviert JS?
Allgemein ist dieses Kommentargefrickel auch nur ein Ueberbleibsel aus alten Zeiten, das du rauswerfen kannst.
Grund fuer die Kommentare waren Browser, die das Script-Tag nicht kennen und deshalb den JS-Code ausgeben wuerden. Damit das nicht passiert, werden HTML-Kommentare drumrumgewickelt. Und damit Browser, die JS interpretieren nicht ueber den schliessenden HTML-Kommentar fallen, kam noch der JS-Kommentar mit rein. Kurzum: viel Byte um nichts - ich frag mich grad wieviel TB man im Netz sparen koennte, wenn man diese Kommentare auf jeder Website rauswirft :lol: Greetz alcaeus |
Re: [PHP/JS/HTML] Content-Type deaktiviert JS?
Tatsache, das war alles. Ich danke euch. :thumb:
|
Re: [PHP/JS/HTML] Content-Type deaktiviert JS?
Das wird ja immer wilder. Laut XHTML-Standard sei Javascript mittels sog. CDATA-Tags einzubinden, wie man sie von XML kennt. Meinetwegen - ich wäre ja noch bereit, die früher genutzten HTML-Kommentare durch CDATA-Tags zu tauschen, im Endeffekt ist mir das gleich. Damit aber nicht noch ein Browser in die Versuchung kommt, das CDATA-Tag als Javascript zu interpretieren, sollte man dieses dann doch noch mit Javascript-Kommentaren umschließen. Damit wird der ganze Kram immer länger.
Javascript in XHTML sieht angeblich wie folgt aus:
Code:
<script type="text/javascript">
/* <![CDATA[ */ alert("hello, world"); /* ]]> */ </script> ... sollte das alles nicht mal einfacher werden? :gruebel: |
Re: [PHP/JS/HTML] Content-Type deaktiviert JS?
Einfach eine externe Skriptdatei einbinden, dann hast du auch XHTML und Javascript schön separat (genau wie CSS)
|
Re: [PHP/JS/HTML] Content-Type deaktiviert JS?
Ich nutze separate JS-Dateien, nur für "globale" Variablen habe ich das direkt im HTML-Code. Das liegt daran, dass ich so von PHP Werte an JS übergeben kann.
Klar könne man eine JS-Datei nehmen, die in PHP einlesen, Variablen ersetzen und als JS-Datei an den Browser senden. Aber das wäre ja richtig umständlich. *g* Aber auskommentierte CDATA-Konstrukte sind grausam zu lesen ... :freak: |
Re: [PHP/JS/HTML] Content-Type deaktiviert JS?
Es sei hier zu erwähnen, dass die meisten Browser auch heutzutage noch Mühe haben mit dem Content-Type application/xhtml+xml.
Bin erst gerad Vorgestern darüber gestolpert, dass Firefox dann Probleme hatte mit gewissen css-selektoren. Bei der Fehlersuche im Netz bin ich dann über einen Post gestolpert, der unter anderm erwähnte, dass das Rendern dann fünfmal so langsam sei...(obs wirklich stimmt weiss ich nicht) Und IE hat soweit ich weiss auch Probleme damit. Ich bin inzwischen dazu übergegangen meine XHTML-Seite als text/html zu deklarieren. |
Re: [PHP/JS/HTML] Content-Type deaktiviert JS?
Zitat:
|
Re: [PHP/JS/HTML] Content-Type deaktiviert JS?
Ich denke das wichtigste ist, dass der Doctype richtig ist. Dass beim IE dann beim XmlHttpRequest das responseXML nicht richtig gesetzt wird ist zwar schade, aber mit jQuery kann ich das Ding dann doch einigermassen parsen. Sonst kenne ich keinen wirklichen Anwendungsfall für XHTML bzw. sonst sehe ich keine Probleme damit dass der Content-Type nicht korrekt gesendet wird.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz