php - 将 Javascript 放在 .php 文件中有什么好处?

标签 php javascript

我偶尔会遇到通过 PHP 文件包含一些 Javascript 的页面:

<html>
  <head>
    <script type="text/javascript" src="fake_js.php"></script>
  </head>
  <body onload="handleLoad();">
  </body>
</html>

fake_js.php 的内容可能如下所示:

<?php header('Content-type:  text/javascript') ?>

function handleLoad() {
    alert('I loaded');
}

像这样包含 Javascript 有什么优点(或缺点)?

最佳答案

它使得从服务器端设置 javascript 变量变得容易。

var foo = <?=$foo?>

我的项目中通常有一个 php/javascript 文件,我使用它来定义需要在 javascript 中使用的任何变量。这样我就可以在 javascript 中轻松访问服务器端使用的常量(css 颜色、非敏感站点属性等)。

编辑:例如,这是我当前正在处理的项目中的 config.js.php 文件的副本。

<?php
require_once    "libs/config.php";
if (!function_exists("json_encode")) {
    require_once    "libs/JSON.php";
}
header("Content-type: text/javascript");
echo "var COLORS = ". json_encode($CSS_COLORS) .";\n";
echo "var DEBUG = ". ((DEBUG == true) ? "true" : "false").";";


?>

关于php - 将 Javascript 放在 .php 文件中有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/997868/

相关文章:

php - 将数百万的mysql数据迁移到php脚本中具有不同结构的不同数据库

javascript - 我如何在这里添加动画功能

Javascript:有没有办法在没有 eval() 的情况下使用字符串作为回调?

php - 如果值已知,是否有可能获得 Yii2 cookie 验证 key

php - 安装了 GD 后 imageantialias 调用未定义函数错误

php - Curl with Post 不工作 Php?

php - Yii2 : Can I bind an array to an IN() condition in join?

javascript - 在javascript中以编程方式填写和提交textarea

java - 如何在Java中获取渲染的html(由Javascript处理)

javascript - 咕噜声 : throw new TypeError ('Arguments to path.resolve must be strings' );