PHP包含JS库

时间:2012-11-12 20:01:33

标签: php javascript html

以下是我对所有这些魔法如何运作的理解(如果我错了,请纠正我):

在PHP / JS / HTML / CSS网站中,当请求页面时,服务器读取文件(index.php以引用此问题),执行任何<?php ?>标记/构造并执行工作。然后它将完成的工作作为一个完整的页面发送给请求者。请求者然后(通过浏览器)读取文件并以“normal”顺序执行文件(index.php)。如果我想要几个页面包含相同的JS脚本和库,我是否可以包含(安全和通过约定)JS:

<script type="text/javascript" src="LIBRARY/1.js"></script>
<script type="text/javascript" src="LIBRARY/2.js"></script>
// etc... for libraries, then also include inline scripts like:
<script type="text/javascript"> 
    $(document).onLoad(function(){
    });
</script>
<script type="text/javascript"> 
    $(document).ready(function(){
    });
</script>

通过PHP包括:

<!-- JS -->
<?php include ("component/js.php"); ?> 

如果可以,最好在页面底部包含这些内容,或者库应位于底部,onLoad位于顶部,ready位于底部,或者加载时间优化的任何其他特定位置?

3 个答案:

答案 0 :(得分:1)

  

如果可以,最好将这些包含在底部   页面,或者库应该在底部,onLoad在顶部,   在底部或任何其他特定位置准备加载时间   优化

将所有JS包装在文档就绪回调函数中,或者只是将标记放在底部。否则你将依赖于defer或async标签属性来阻止页面加载,而且这两个attr都不是全面支持的。

关于JS包括优化:

虽然您正在考虑如何重用JS包含的代码,这是一件好事,但这是在资产文件中管理它们的第一步,正如您在上面所做的那样。

然而,在PHP性能方面存在一个缺点,因为为了呈现页面而需要处理更多的代码。

这就是为什么一些开发人员选择使用像require.js等客户端资产管理器的原因。

答案 1 :(得分:0)

onLoad和ready几乎是相同的函数,你应该在页面底部包含所有的javascript,因为它会在页面加载后加载javascript。

答案 2 :(得分:0)

我个人不会建议将javascript放到最底层,即使你经常听到这个建议。它主要与加载性能和脚本阻塞有关,这对于当今的现代浏览器来说不再是一个大问题。

为了组织起见,我喜欢把我的剧本放在头脑中,但最后,这取决于你的个人偏好。即使雅虎recommends将脚本放在底部,也不会出错。

使用jQuery时需要$(document.ready(因为DOM树被完全解析并且BEFORE图像完全加载后会立即触发)并在加载jQuery之后放入init代码 - 无论你决定放入它。

除此之外,您对网页请求 - 响应解剖的基本理解是正确的;)。