在PHP页面中包含许多javascript函数(其中包含PHP)的最有效方法是什么?


What is the most efficient way to include many javascript functions (with PHP in them) in a PHP page?

在我的一个网站中,我需要使用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文件。