php in einer .js Datei (SSI) ausführen?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anwendung
aufruf
aussehen
code
datei
dateiname
file
funktion
geschichte
idee
korrekten mime
melde
methode
optik
packen
sinn
text
type
wurzel
zweck
-
Hallo
ich würde gerne in einer .js Datei auch PHP-Code ausführen,
daher die Idee, einfach .js als neuen php-application-type per .htaccess einzurichten
... leider klappt es nicht
ich habs so und so (in der .htaccess) ausprobiert ....
AddType application/x-httpd-php .js
AddType x-mapp-php5 .js
AddHandler x-mapp-php5 .js
AddType application/x-httpd-php .js
AddType text/x-httpd-php .js
AddHandler x-httpd-php .js
... wie kann ich per .htaccess PHP-SSI für .js einrichten. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Für die meisten Anwendungen reicht es, wenn du als JavaScript-Source einfach direkt eine *.php-Datei angibst. Diese wird interpretiert und dann wie jede andere *.js-Datei verwendet. Lima selbst nutzt diese Methode bspw., um ihre Werbung einzublenden.
Falls das für deine Methode nicht reichen sollte, melde dich nochmal, dann finden wir bestimmt noch weitere Alternativen.
Liebe Grüße
- VampireSilence -
hallo
danke, .... ja auf die Idee bin ich auch schon gekommen ^^
so läuft es ja jetzt .... <sript type="text/javascript" src="xyzxyz.php"></script>
und so funktioniert es auch,
aber ich hätte den Aufruf doch gerne lieber als .js Datei
(.fragt jetzt nicht "warum, wenns doch funktioniert",
das ist ne andere Geschichte, ich will es einfach so.)
deshalb ja die Idee mit AddHandler in der .htaccess
---> wie muss dafür eine .htaccess aussehen (oder gehts doch anders) ? -
Also wenn es für die Optik ist, dann gäbe es da noch eine Alternative, aber das sind wieder nur Mutmaßungen, also äußere dich doch bitte dazu, welchen Sinn und Zweck das genau hat, dann kann man das Problem besser an der Wurzel packen.
Jedenfalls gäbe es da noch was. Du lädst zunächst eine *.js-Datei und dieser wiederrum lädt eine *.php-Datei nach. Somit bindest du eine Datei ein, die auf *.js endet (so wie du wolltest) und wird trotzdem dynamisch von PHP generiert (ebenso wie du wolltest). Der Code dafür könnte dann so aussehen (nicht getestet):
window.onload = function() { include('javascript.php'); // Hier müsste dann der Dateiname rein. execute('eine_funktion();'); // Und hier die Funktion, die du aufrufen möchtest. } function include(file) { var head = document.getElementsByTagName('head')[0]; var script = document.createElement('script'); var type = document.createAttribute('type'); var source = document.createAttribute('src'); type.nodeValue = 'text/javascript'; source.nodeValue = file; script.setAttributeNode(type); script.setAttributeNode(source); head.appendChild(script); } function execute(code) { var i = 0; try { eval(code); } catch (e) { for (i = 0; i < 20; i++) { setTimeout('execute("' + code + '");', 10); } } }
Das sollte funktionieren, aber wie gesagt - wenn es das auch nicht ist - dann bitte etwas konkreter, welche Funktion das Ganze genau erfüllen soll.
Liebe Grüße
- VampireSilence
Beitrag zuletzt geändert: 25.2.2010 12:33:35 von vampiresilence -
Eine Alternative wäre noch über mod_rewrite Die .js auf die .php umzuleiten.
Aber, am einfachsten ist natürlich das ganze bei einer .php-Datei zu belassen, wirklich. Keine Angst, wenn du wirklich den korrekten MIME-Type auslieferst, wird das in allen Browsern gehen ;) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage