从我在Sitepoint上阅读的教程中,我了解到我可以通过PHP加载JS文件(无论如何它都是评论).这个代码的形式是这样的:
<script src="js.php?script1=jquery.js&scipt2=main.js" />
Run Code Online (Sandbox Code Playgroud)
使用PHP的目的是减少JS文件的HTTP请求数量.但是从上面的标记来看,在我看来仍然会有相同数量的请求,好像我为JS文件写了两个标签(我可能是错的,这就是我要问的原因).
问题是如何编写PHP代码以及这种方法相对于"正常"方法的优势是什么?
ale*_*exn 12
原始海报可能意味着
<script src="js.php?script1=jquery.js&scipt2=main.js" />
Run Code Online (Sandbox Code Playgroud)
会导致更少的http请求
<script src="jquery.js" />
<script src="main.js" />
Run Code Online (Sandbox Code Playgroud)
这是因为js.php将从GET参数中读取所有脚本名称,然后将其打印到单个文件中.这意味着服务器只能进行一次往返以获取所有脚本.
js.php可能会像这样实现:
<?php
$script1 = $_GET['script1'];
$script2 = $_GET['script2'];
echo file_get_contents($script1); // Load the content of jquery.js and print it to browser
echo file_get_contents($script2); // Load the content of main.js and print it to browser
Run Code Online (Sandbox Code Playgroud)
请注意,如果需要的脚本数量较少,这可能不是最佳解决方案.主要问题是Web浏览器不会从同一个域并行加载无限数量的脚本.
您需要实现缓存以避免在每个请求上加载和连接所有脚本.在每个请求上加载和组合所有脚本将占用很多CPU.
IMO,执行此操作的最佳方法是在部署网站之前将所有脚本文件合并并缩小为大文件,然后引用该文件.这样,客户端只对服务器进行一次往返,并且服务器在每次请求时都没有任何额外的负载.
请注意,提供的PHP解决方案绝不是一个好方法,它只是一个简单的程序演示.
| 归档时间: |
|
| 查看次数: |
15107 次 |
| 最近记录: |