首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >创建带有.php扩展名的javascript文件

创建带有.php扩展名的javascript文件
EN

Stack Overflow用户
提问于 2012-11-24 15:39:52
回答 3查看 3.6K关注 0票数 5

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

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

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-11-24 15:43:06

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

使用PHP的一个优点是对JS文件进行gzip压缩以减小其大小。

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

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

票数 3
EN

Stack Overflow用户

发布于 2012-11-24 15:46:41

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

代码语言: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文件:

代码语言:javascript
复制
...
<script src="script.php"></script>
...
票数 8
EN

Stack Overflow用户

发布于 2012-11-24 16:10:40

从php加载js文件的问题是你增加了响应的大小,因为你的页面在浏览器上的渲染速度会很慢。另一方面,如果浏览器加载你的js文件,浏览器会为js文件发送不同的请求,所以如果你不想让你的初始页面加载很慢,就不要把js放在php中。

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

google

  • 使用像javascriptCompressorjsmini

  • Put这样的工具缩小你所有的js文件,这些缩小的文件放在其他有cdn支持的服务器上,你可以在一些免费的cdn上免费托管你的文件,从cdn加载文件总是更快,并且浏览器可以一次下载多个文件

  • 从google cdn url加载文件如jquery或其他库,或者各个站点使用过期标题让浏览器长时间保留你的js文件,这样它就不会在非常有请求的时候加载

如果你遵循这些技巧,你的页面加载速度会更快。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13539323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档