サイトのPHPスクリプトの中に800行のJSコードがあり、JS関数のいくつかにはPHPの変数を挿入するためのPHPエコーがあります。私はできるだけページからJSの多くを欲しがっていますが、私はJSであまり期限切れではないし、コードを書かなかったので、そうする良い方法はわかりませんこのようなものの100%の理由を知っています。スクリプトがPHP変数を使用しているときにjavascriptをエクスポート
ここでは、最悪の犯罪者の例と私はPHPページからどのように変換するのか分かりません。
function validateCostCenter(el){
var objCB = el;
var emp_code = objCB.name.substring(23,29);
var local_plant_ID ="<?=$plant['Plant']['LocationID']?>";
var cc_plants_array = ["<?=$cc_plants?>"];
var CCPlant=false;
var CostCenterExists=false;
var std_cs_array = [];
<?
$idx = 0;
foreach($employees as $emp){
foreach($std_cs as $cs){
if($emp['Emp']['id'] == $cs[0]['emp_id']){
echo "std_cs_array[".$idx."] = [\"".trim($emp['Emp']['code'])."\",\"".$cs['0']['emp_id']."\",\"".$cs['0']['locationid']."\",\"".$cs['0']['charge_back_plant_id']."\"];\n";
$idx++;
}
}
}
?>
これを行うための最善の方法は、ページからすべての純粋なJSの機能を削除し、外部ファイルとしてそれらを含めると、同じように部分的にphpのものが100%のままにすることですありますか?これは私たちのサイトで最も無駄で低速なページの1つです。できるだけ最適化したいと思います。別のJavaスクリプトファイルを使用すると、デバッグが簡単になります。
何がありますJSファイル全体をPHPスクリプトで生成できない理由あなたがしようとすることができるのは、すべてのjsを別々のファイルに移動し、そのファイルに.php拡張子を付けることです。そのPHPの中では、 'header( 'Content-type:text/javascript');で始まります。 - あなたのjs全体が別のファイルに存在するようになりました。メインファイルに ''があります。もちろん、変数にどのようにデータが取り込まれるかを並べ替える必要があります。 –
これらの変数の内容を別々のAjaxリクエストとして取得することはできますか? – blottedscience
私はそれらを別々にしたいのですが、私はHTML出力を小さくしようとしていて、JSを壊しました。 JSが100%有効ではないことが判明し、問題を分離することは難しいですが、一般的にはサイトを可能な限りモジュール化しておく方がよいでしょう。クライアントがキャッシュできない余分な800行以上もあり、このページはパフォーマンス上の問題です。別のページを "PHP" jsファイルにするのは興味深いアプローチです。キャッシュ可能な問題を修正するわけではありませんが、動作させることができるかどうかを確認します。今のところ私はファイルにPHPコードなしのビットを分離しようとしています。 –