AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP/JS/HTML] Content-Type deaktiviert JS?
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP/JS/HTML] Content-Type deaktiviert JS?

Ein Thema von Matze · begonnen am 18. Feb 2010 · letzter Beitrag vom 12. Mär 2010
Antwort Antwort
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#1

[PHP/JS/HTML] Content-Type deaktiviert JS?

  Alt 18. Feb 2010, 12:45
Hallo,

die folgende Frage ist rein interessehalber. Ich habe mal versucht, diesen PHP-Header zu senden:

Code:
header('Content-Type: application/xhtml+xml; charset=utf-8');
Es funktioniert dann alles, nur JavaScript will nicht mehr. Mein JS sieht u.a. so aus:

Code:
<script type="text/javascript">
   <!--
   var PATH = '...';
   //-->
</script>
<script type="text/javascript" src="... my_js_file.js"></script>
In "my_js_file.js" verwende ich die Variable "PATH". Diese ist bei dem genannten Header in der JS-Datei nicht definiert.

Sende ich den Header so, dann geht alles:

Code:
header('Content-Type: text/html; charset=utf-8');
Woran liegt das?

Grüße, Matze
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

Re: [PHP/JS/HTML] Content-Type deaktiviert JS?

  Alt 18. Feb 2010, 12:47
Zitat von Matze:
Code:
   <!--
   var PATH = '...';
   //-->
Weil das nicht in XHTML erlaubt ist
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#3

Re: [PHP/JS/HTML] Content-Type deaktiviert JS?

  Alt 18. Feb 2010, 12:58
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

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: [PHP/JS/HTML] Content-Type deaktiviert JS?

  Alt 18. Feb 2010, 13:27
Tatsache, das war alles. Ich danke euch.
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: [PHP/JS/HTML] Content-Type deaktiviert JS?

  Alt 12. Mär 2010, 17:54
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?
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#6

Re: [PHP/JS/HTML] Content-Type deaktiviert JS?

  Alt 12. Mär 2010, 18:03
Einfach eine externe Skriptdatei einbinden, dann hast du auch XHTML und Javascript schön separat (genau wie CSS)
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: [PHP/JS/HTML] Content-Type deaktiviert JS?

  Alt 12. Mär 2010, 18:06
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 ...
  Mit Zitat antworten Zitat
ele

Registriert seit: 18. Feb 2009
129 Beiträge
 
Delphi 2010 Professional
 
#8

Re: [PHP/JS/HTML] Content-Type deaktiviert JS?

  Alt 12. Mär 2010, 18:13
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.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: [PHP/JS/HTML] Content-Type deaktiviert JS?

  Alt 12. Mär 2010, 18:19
Zitat von ele:
Ich bin inzwischen dazu übergegangen meine XHTML-Seite als text/html zu deklarieren.
So sende ich es zur Zeit auch wieder. Ich habe zwar eine Überprüfung drinnen, um festzustellen, welcher Browser XML das unterstützt, aber irgendwas klappte dennoch nicht 100%.
  Mit Zitat antworten Zitat
ele

Registriert seit: 18. Feb 2009
129 Beiträge
 
Delphi 2010 Professional
 
#10

Re: [PHP/JS/HTML] Content-Type deaktiviert JS?

  Alt 12. Mär 2010, 18:49
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz