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

时间:2012-04-12 03:46:26

标签: php javascript

在我的一个网站中,我需要使用PHP'foreach'来保留包含一些Javascript代码。在此代码中包含在foreach循环中更改的PHP $变量。

foreach ($a as $b) {
   include("javascript.php");  
}

javascript.php包含以下代码:

<script>
   $(".<?php echo $somevariable?>").something;
</script>

我的问题是:加载包含PHP变量的javascript的最有效(如果有的话)方式是什么?

我一直在读,最好在.js脚本中调用大型javascript代码而不是在页面上编写它,但显然.js文件不能有PHP。

感谢您的见解。

2 个答案:

答案 0 :(得分:1)

你可以添加:

header("Content-type: text/javascript");

到.php文件的顶部,它将呈现为.js文件。

答案 1 :(得分:1)

以下是我将使用的方法:

使用包含$ somevariable:

的Javascript变量创建HTML文件
<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代码重用。为了防止出现问题,我会在变量名前加上前缀。例如,我可以将其称为“xy_somevariable”

,而不是将其称为“somevariable”