Ich versuche ein wenig PHP in einer .js-Datei auszuführen, weiß aber offensichtlich nicht, wie ich es richtig machen soll.
Grundsätzlich fügt der Code einige HTML-Tags zu meiner Seite hinzu, die ich für ein Kontaktformular verwende. Das Kontaktformular selbst wird jedoch in Wordpress mit einem Shortcode erstellt. Also versuche ich, den Shortcode innerhalb des Codes zu aktivieren, der das Formular herausrutschen lässt.
%Vor%Wenn ich die Variable "phpTest" in eine reguläre Zeichenkette mit Text ändere, dann sieht es gut aus. Ich bin mir nicht sicher, wie ich den PHP in diesem Fall ausführen soll.
BEARBEITEN : Der Skripttyp sollte immer text/javascript
sein, da application/javascript
die Kompatibilität mit älteren Browsern beeinträchtigen könnte (ich denke, IE8 und früher werden das Skript-Tag mit diesem Typ ignorieren). Der Inhaltstyp sollte jedoch weiterhin application/javascript
sein.
Sie können PHP nicht in eine .js
-Datei mischen, so wie Sie es mit einer normalen .php
-Datei tun würden, da die .js
-Datei nicht von der .php
-Engine vorverarbeitet wird wie Ihre .php
Dateien sind.
Der üblichste Weg dies zu tun - inklusive PHP in einer js-Datei - besteht darin, nur JS (Zeug zwischen <script>
-Tags) in Ihrer .php-Datei zu haben. Dann wird es wie erwartet funktionieren.
Ein anderer Weg zu gehen ist, eine js-Datei innerhalb von PHP zu erstellen, also starte deine .php-Datei mit
%Vor%und fügen Sie es dann so auf Ihre Seite ein
%Vor%Ich habe gesagt, dass deine Frage nicht möglich ist, aber es ist tatsächlich möglich. Dies wird nicht empfohlen , aber wenn Sie sich keine Gedanken über mögliche Sicherheitslücken machen, können Sie hier Ihre Frage beantworten:
Erstellen Sie eine .htaccess
-Datei im selben Verzeichnis wie Ihre .js
-Dateien mit folgendem Inhalt:
Dadurch werden Ihre JavaScript-Dateien als PHP ausgeführt, und der Inhaltstyp für .js-Dateien wird automatisch korrigiert (weil sie beim Hinzufügen des php-Handlers als Text angezeigt werden).
Hinweis : Obwohl dies eine schnelle und schmutzige Lösung ist, wäre es besser, Ajax zu verwenden (siehe chiliNUTs Antwort )
Ich denke, Sie können so etwas mit AJAX machen:
JS-Code:
%Vor%Die do_shortcode_file.php muss etwa so aussehen:
PHP-Code:
%Vor%Siehe AJAX Tutorial auf w3schools.com zu einigen Details und einem guten Beispiel über Ajax.