簡體   English   中英

在Javascript文件中插入PHP變量值

[英]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;

有幾種方法:

  1. 通過AJAX加載baseurl,但也許這會慢,也許你需要更早。

  2. 讓javascript文件通過php解析器運行。 然后你可以使用內聯回聲。

  3. 最方便和最簡單的方法是在頁面的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

html中的php變量沒有別的辦法:<?php echo $ var; ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM