[英]Inserting PHP variable value in Javascript file
我有一個JavaScript文件,它有一個硬編碼的BASEURL變量,然后該值被文件中的其他函數使用。 我想要動態設置此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>
。
您需要將文件設為php文件,而不是js文件。 從那里你可以在文件中包含任何PHP標簽來運行你的動態魔術。 使整個過程工作的關鍵在於標題,您需要像這樣設置:
<?php
Header("content-type: application/x-javascript");
echo 'var js_var = ' . $php_var;
?>
alert (js_var);
此技術也可用於CSS文件。
Heredoc今天為我工作:
<?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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.