Ausführen von PHP-Code in einer .js-Datei

7

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.

    
Keryn Gill 09.05.2014, 21:31
quelle

5 Antworten

13

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%     
chiliNUT 09.05.2014 21:39
quelle
4

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:

%Vor%

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 )

    
Brian Graham 09.05.2014 21:46
quelle
1

Sie können eine Ajax-Post-Anfrage an eine .php-Datei senden. Es ist ein kleiner schmutziger Trick, aber es funktioniert

%Vor%

Mit diesem Trick können Sie grundsätzlich alles machen, was Sie wollen

    
Jayo2k 30.05.2015 23:43
quelle
0

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.

    
João Paulo de Lima 09.05.2014 22:01
quelle
0

Angenommen, Ihr Dateiname lautet meinscript.js:

in Ihrem head-Tag (es muss eine ausführbare PHP-Datei sein):

%Vor%

... ... Auf diese Weise können Sie diese Datei als eine PHP-Datei

ausführen     
Hidran 09.05.2014 22:06
quelle

Tags und Links