Gunnar Bittersmann: *.js in *.js includieren

Beitrag lesen

Hello out there!

AddHandler server-parsed shtml js

Zu vermuten steht (da nicht getestet), daß dann eben _alle_ *.js als SSI behandelt werden.

Ja. Natürlich sollte man, wenn man das wirklich einsetzt, nur die JavaScript-Dateien durch die SSI-Engine schicken, die das nötig haben: entweder diese alle in .htaccess auflisten oder doch besser eine andere Endung (sjs) vergeben.

Das bedeutet: der darin enthaltene Code wird nicht mehr zwingend ausgeführt, sondern dargestellt

Ähm, du weißt auch nachts um halb drei noch, was ein Webserver tut?! Der Server stellt nichts dar, sondern führt aus – bspw. auch SSI. Um was es sich dabei für Dateien handelt (HTML, JavaScript, ...) ist ihn dabei sowas von schnurzpiepegal.

Der Client bekommt natürlich von alledem nichts mit; er erhält eine JavaScript-Datei, in der von SSI nichts mehr zu sehen ist, dafür steht der aus der anderen Datei eingefügte Code drin.

funktioniert vermutlich
  <script type="text/javascript" src="javascript.js"></script>
nicht mehr, da es ja vom Server als SSI ausgeliefert werden würde.

Ähm, du weißt auch nachts um halb drei noch, was ein Webserver tut?! Er liefert nichts als SSI aus, sondern führt SSI aus. Dabei ist ihm sowas von schnurzpiepegal, als was er das am Ende ausliefert (HTML, JavaScript, ...). Aber ich wiederhole mich.

(in Erwartung deiner Mißerfolgsmeldung)

Da muss ich dich enttäuschen:

.htaccess:
AddHandler server-parsed sjs
(mehr ist gar nicht nötig)

foo.js:
var foo = 'foo';

bar.sjs:
<!--#include virtual="foo.js" -->
alert(foo);

index.html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml">  
  <head>  
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />  
    <title>TEST</title>  
    <script type="text/javascript" src="bar.sjs"></script>  
  </head>  
  <body>  
  </body>  
</html>

Und so sieht’s aus.

See ya up the road,
Gunnar

--
“Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)