在我的一个网站中,我需要使用PHP'foreach'来保留一些Javascript代码。在此代码中,包含在 foreach 循环中更改的 PHP $variables。
foreach ($a as $b) {
include("javascript.php");
}
JavaScript.php包含如下代码:
<script>
$(".<?php echo $somevariable?>").something;
</script>
我的问题是:加载包含PHP变量的javascript的最有效(如果有的话)方法是什么?
我一直在读到,最好在.js脚本中调用大型 JavaScript 代码,而不是将其写在页面上,但显然.js文件不能有 PHP。
感谢您的见解。
这是我将使用的方法:
使用包含以下内容的 Javascript 变量创建 HTML 文件$somevariable:
<html>
<head>
<script src="my_global.js"></script>
</head>
<body>
Foo
<script>
var somevariable = "<?php echo $somevariable ?>";
</script>
</body>
</html>
然后让 Javascript 文件在页面准备就绪后访问此值(我在此示例中使用 jQuery .ready():
$(document).ready(function() {
alert(somevariable);
});
这是在行动:http://jsfiddle.net/2zeQM/
这允许缓存Javascript文件(它是静态的而不是动态的)。动态数据加载到用户请求的页面上。
你需要注意的是,你使用的变量名不会被任何其他Javascript代码重用。为了防止出现问题,我会在变量名称前面加上前缀。例如,与其称它为"somevariable",不如称它为"xy_somevariable"
您可以添加:
header("Content-type: text/javascript");
到.php文件的顶部,它将呈现为.js文件。