2016-07-18 14 views
0

私はできるだけ軽量でなければならないウェブサイトを作っています。別のファイルを使用してモジュールに変換するJavaScriptコードの一部があるため、コードは特定のonClickイベントの後に読み込まれます。動的PHPで生成されたjavascriptを読み込んでいます

は、私は正常にJavaScriptコードをロードすることができます。

var myscript = document.createElement('script'); 
myscript.src = "modules/mymodule.js"; 
document.head.appendChild(myscript); 

私の問題は私のjavascriptのコードは、私はPHPを生成するいくつかの言語依存の変数を持っているということです。動的ロードの前にjavascriptファイルにPHPを実行する方法はありますか、それとも遅すぎますか?たぶんAJAXを使用していますか?

+0

あなたはどのようなWebサーバを実行していますか? – Carey

+0

私はIISを実行しています – Qaisa

答えて

1

この回答を見る人のために。 しないでください。 PHPインタプリタでPHPファイルを実行するだけです。これを行うことは、不必要なセキュリティリスクです。

JavaScriptファイルでPHPを実行すると、Webサーバーによっては、Webサーバーの設定を変更するだけで簡単です。

は、このリンクの指示に従ってください:http://www.plus2net.com/php_tutorial/php5-iis7-configuration.phpしかし

、それはあなたが、* .PHPを入力*を入力するように求められを.jsファイル。

このようにすると、すべてのJavaScriptファイルがPHPインタープリタを介して実行されます。

+0

とてもシンプルなので、試してみます。ありがとう! – Qaisa

+0

@ qaisa答えがあなたの問題を解決するならば、他の人の参照のために解決されたものとして印をつけてください。 – Carey

+0

私はそれが私の問題を解決したことを確認することができます。再度、感謝します! – Qaisa

0

私はあなたの変数名といくつかの日付をあなたのPHPドキュメントに送る必要があると思います。 あなたのコードでこれらの変数名を操作してから、正しいjavascriptコードを生成します。 変数名を送信するには、AJAXを使用する必要があります。

+0

あなたの答えがわかりにくいので、答えを言い換えてみてください。 – Carey

0

PHPでレンダリングしてから、JavaScriptファイルとして読み込むことができます。

MyScript.php

<?php 
    $number = 5; 
    echo "var number = {$number}" 
?> 

index.htmlを

<html> 
<head> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
    <script> 
    function loadScript(url){ 
     $.getScript("MyScript.php", function(data, textStatus, jqxhr) { 
     console.log(number); // 5 
     }); 
    } 
    </script> 
</head> 
</html> 
関連する問題