PHP変数値をJavascriptファイルに挿入する
ハードコードされたBASEURL変数を持つJavaScriptファイルがあります。この値は、ファイル内の他の関数によって使用されます。 このURL値を動的に設定して、インストールごとに手動で変更する必要がないようにしたいと思います。 PHP変数値をJavaScriptファイルに挿入することは可能ですか?
答え :
解決策:
PHPをJavaScriptファイルに混ぜようとするのではなく、HTMLテンプレートで行うことは次のとおりです。
<head>
<script>
var BASEURL = "<?php echo base_url(); ?>";
</script>
<script src="/path/to/my_script1.js"></script>
<script src="/path/to/my_script2.js"></script>
</head>
これにより変数が設定され、すべての埋め込みスクリプトが変数にアクセスできるようになります。 base_url()
は、PHPでベースURLを取得するために使用するメソッドに置き換えられます。
答え :
解決策:
PHPによってオンザフライで書き込まれたJSファイルがあるとします。 file1.php
<?php
header('Content-Type: application/javascript');
$var = $_GET['var1'];
echo "jsvar = ".$var.";";
?>
file1.php?var1=10のクライアント側のソースコードは
になります。 jsvar=10;
答え :
解決策:
いくつかの方法があります:
-
AJAXを介してbaseurlをロードしますが、これは遅くなる可能性があり、早めに必要になる可能性があります。
javascriptファイルをphpパーサーで実行させます。次に、インラインエコーを使用できます。
-
最も便利で簡単な方法は、ページのhtml/php出力に
<script>var baseurl = '...';</script>
を作成することです。
答え :
解決策:
ファイルをjsファイルではなく、phpファイルにする必要があります。そこから、ファイルに任意のPHPタグを含めて、動的な魔法を働かせることができます。このすべてを機能させるための鍵は、ヘッダーにあります。ヘッダーは、次のように設定する必要があります。
<?php
Header("content-type: application/x-javascript");
echo 'var js_var = ' . $php_var;
?>
alert (js_var);
この手法はCSSファイルにも使用できます。
答え :
解決策:
ヒアドキュメントは今日私のために働いた:
<?php
echo <<<ANYNAME
<script LANGUAGE="JavaScript" type="text/javascript">
<!--
// code ...
var myLatlng = new google.maps.LatLng($lat, $lon);
// code cont. ...
//-->
</script>
ANYNAME;
?>
http://php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。