在Javascript文件中插入PHP变量值

时间:2012-01-17 11:12:12

标签: php javascript

我有一个JavaScript文件,它有一个硬编码的BASEURL变量,然后该值被文件中的其他函数使用。 我想要动态设置此url值,以便我不需要为不同的安装手动更改它。是否可以将PHP变量值插入JavaScript文件中?

5 个答案:

答案 0 :(得分:5)

不是尝试将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的任何方法。

答案 1 :(得分:1)

假设你有一个由PHP动态编写的JS文件; file1.php

<?php
  header('Content-Type: application/javascript');
  $var = $_GET['var1'];
  echo "jsvar = ".$var.";";
?>

file1.php?var1 = 10的客户端源代码将是

jsvar=10;

答案 2 :(得分:1)

有几种方法:

  1. 通过AJAX加载baseurl,但也许这会慢,也许你需要更早。

  2. 让javascript文件通过php解析器运行。然后你可以使用内联回声。

  3. 最方便,最简单的方法是在页面的html / php输出中创建<script>var baseurl = '...';</script>

答案 3 :(得分:1)

您需要将文件设为php文件,而不是js文件。从那里你可以在文件中包含任何PHP标签来运行你的动态魔术。使整个事情发挥作用的关键在于标题,您需要像这样设置:

<?php
    Header("content-type: application/x-javascript");
      echo 'var js_var = ' . $php_var;
?>
alert (js_var);

此技术也可用于CSS文件。

答案 4 :(得分:0)

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

php variable in html no other way then: <?php echo $var; ?>