我偶尔会遇到通过PHP文件包含一些Javascript的页面:
<html>
<head>
<script type="text/javascript" src="fake_js.php"></script>
</head>
<body onload="handleLoad();">
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
其中fake_js.php的内容可能如下所示:
<?php header('Content-type: text/javascript') ?>
function handleLoad() {
alert('I loaded');
}
Run Code Online (Sandbox Code Playgroud)
包含这样的Javascript有什么优点(或缺点)?
tj1*_*111 13
它可以很容易地从服务器端设置javascript变量.
var foo = <?=$foo?>
Run Code Online (Sandbox Code Playgroud)
我通常在我的项目中有一个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").";";
?>
Run Code Online (Sandbox Code Playgroud)
如果您不需要它,请不要使用它:
你要记住的第一件事是YAGNI.你不需要它.在某个特征,原则或指南变得有用和相关之前,请不要使用它.
缺点:
好处:
<head> </head>在HTML部分中使用正确的变量/参数进行初始化来实现除非javascript真正独特(即JSON,参数/变量),否则你不会获得太多收益.但在每种情况下,您都应该最小化服务器端生成的JS数量,并最大化静态文件中的代码量.不要忘记,如果它是动态的,它必须一次又一次地生成/下载,所以它不是一个繁重的过程.
也:
| 归档时间: |
|
| 查看次数: |
1204 次 |
| 最近记录: |