创建扩展名为.php的javascript文件

时间:2012-11-24 07:39:52

标签: php javascript

我一直在单独的.js文件中编写javascript函数。在我的上一个项目中,javascript文件的数量更多,因此页面加载速度较慢,因为请求数量更多。因此,出于实验目的,我使用.php扩展名转换了几个.js文件,并使用include语句添加它们。这样加载时间性能更好。在.php文件中编写javascript有很多好处。我可以访问php变量并轻松将它们传递给javascript。

我的疑问是,在.php文件中编写javascript然后包含它们有什么缺点吗?

我的理解是,当页面加载时,它会调用javascript文件并并行执行php部分。所以我们写了onload函数。

3 个答案:

答案 0 :(得分:7)

如果你想用PHP在服务器端将多个Javascript文件编译成一个,你可以这样做:

<?php
// script.js
header('Content-Type: text/javascript'); // Tell browser to treat file as Javascript

$files  = array(
    'script-1.js',
    'script-2.js',
    'script-3.js'
);

foreach($files as $file){
    // Import each file
    echo file_get_contents($file).PHP_EOL;
}

然后,在您的页面中,只需将该文件引用为Javascript文件:

...
<script src="script.php"></script>
...

答案 1 :(得分:3)

大多数浏览器可以使用2个或更多同时连接来加载资源。因此,将javascript保存在单独的文件中可能允许浏览器充分利用所有连接。您应该尽可能在HTML中包含<script>标记,以便在任何JS开始加载之前编写页面内容。

使用PHP的一个优点是gzip JS文件以减小它们的大小。

如果javascript文件的大小很小,请说&lt; 100 KB,在一个PHP脚本中包含一些它们可能会更快。但是如果javascript文件比较大,比如500 KB,那么将它们分开可能会更快。

实验和调整将帮助您找到答案。这里没有普遍的真理。

答案 2 :(得分:1)

从php加载js文件的问题是,由于您的页面将在浏览器上缓慢呈现,因此您的响应大小正在增加。另一方面,如果浏览器加载你的js文件,浏览器会发送不同的js文件请求,所以如果你不希望你的初始页面加载速度慢,不要把js放在php中。

如果你想加快你的js文件加载,请执行以下操作

  1. 使用javascriptCompressorjsmini
  2. 等工具缩小所有js文件
  3. 将这些缩小的文件放在支持cdn的其他服务器上,您可以在一些免费的cdn上免费托管您的文件,从cdn加载总是更快,浏览器可以一次下载多个文件

    < / LI>
  4. 从google cdn url或相应网站加载jquery或其他库等文件 使用expiry标头让浏览器长时间保存你的js文件,这样它就不会在非常请求时加载

  5. 如果您遵循这些技术,您的网页将加载更快