Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过PHP直接包含JavaScript,而不是通过脚本标记从最后一页开始添加JavaScript_Php_Javascript_Include - Fatal编程技术网

通过PHP直接包含JavaScript,而不是通过脚本标记从最后一页开始添加JavaScript

通过PHP直接包含JavaScript,而不是通过脚本标记从最后一页开始添加JavaScript,php,javascript,include,Php,Javascript,Include,我需要你对一个问题的意见和知识 我正在开发一个使用大量JavaScript的网站。在body标记末尾的script标记中,我调用了一个PHP文件,它收集了我所有的JS文件,并将它们合并/压缩为一个(较短的)文件,因此我可以减少对服务器的HTTP调用数量 这一切都很好,有些标准。现在我的问题是: 首先排除src属性的script标记并直接将所有JavaScript输出到script标记中不是更快更容易吗?这会不会将用户浏览器上接收到的PHP文件的调用再次保存到服务器以收集这些JS文件 要稍微澄清一

我需要你对一个问题的意见和知识

我正在开发一个使用大量JavaScript的网站。在body标记末尾的script标记中,我调用了一个PHP文件,它收集了我所有的JS文件,并将它们合并/压缩为一个(较短的)文件,因此我可以减少对服务器的HTTP调用数量

这一切都很好,有些标准。现在我的问题是: 首先排除src属性的script标记并直接将所有JavaScript输出到script标记中不是更快更容易吗?这会不会将用户浏览器上接收到的PHP文件的调用再次保存到服务器以收集这些JS文件

要稍微澄清一下: 用户不必首先下载一个HTML文件,然后调用服务器来获取JS文件(从PHP文件输出),他/她只需下载一个HTML文件,然后将JS“硬编码”到脚本标记中,从而切断第二个服务器调用

这是一个合理的想法吗?将javascript直接包含到页面中是个坏主意吗?这都是动态创建的。。。通常最好的做法是包含JS文件,但这似乎只会增加服务器的负载。。。我有什么事吗,还是应该顺其自然

期待听到你要说的话


问候丹麦米克尔

只要在你的js收集脚本中添加一个,你就会没事。

只要在你的js收集脚本中添加一个,你就会没事。

如果你要为网站上的每个页面创建自定义js,那么,是的,您希望将其直接注入页面,而不是让浏览器在页面呈现后对.js文件执行往返请求


另一方面,如果您在站点上的页面之间重复使用大量javascript,您可能希望将其作为外部文件引用,以便浏览器缓存它

如果您要为站点上的每个页面创建自定义JS,那么,是的,您希望将其直接注入页面,而不是让浏览器在页面呈现后对.JS文件执行往返请求


另一方面,如果您在站点上的页面之间重复使用大量javascript,您可能希望将其作为外部文件引用,以便浏览器缓存它

如果您正在生成大量的动态javascript,只需将其粘贴到脚本标记中就可以了

但是,如果有任何样板javascript将在每个请求上加载,那么为了缓存的缘故,您应该将其考虑到一个优化的外部文件中


但是,每个请求动态生成的任何内容都应该放在主页体的脚本标记中,以避免额外的http请求。

如果要生成大量动态javascript,只需将其粘贴在脚本标记中即可

但是,如果有任何样板javascript将在每个请求上加载,那么为了缓存的缘故,您应该将其考虑到一个优化的外部文件中


但是,每个请求动态生成的任何内容都应该放在主页正文中的脚本标记中,以避免额外的http请求。

我为什么不考虑缓存呢?:)这是一个非常好的观点!JavaScript对于每个页面都是一样的,因为基于HTML本身没有任何变化。但并非每个页面都使用所有JS。这就是我首先将其拆分的主要原因——只让浏览器通过在特定页面上使用的JS工作……为什么我甚至没有考虑缓存?:)这是一个非常好的观点!JavaScript对于每个页面都是一样的,因为基于HTML本身没有任何变化。但并非每个页面都使用所有JS。这就是我首先将其拆分的主要原因——只让浏览器通过在特定页面上使用的JS工作……我使用的是条件get。看起来像是?type=js&files=jquery.js、forms.js、main.js。我只是想根据上下文删除一些文件,以便在浏览器上更轻松地使用(请参见上面的答案…@lund.mikkel不,您不是。为什么不在回答之前阅读一个链接呢?对不起,我的回答没有多大意义。我正在使用条件get!我通过将上次修改的日期与文件名的md5散列相结合来创建一个etag,这是我在另一条评论中发布的get变量文件中得到的。但是非常感谢你的文章!在这个问题上是最好的之一。我做了一些研究,但这次成功了!我使用的是条件get。看起来像是?type=js&files=jquery.js、forms.js、main.js。我只是想根据上下文删除一些文件,以便在浏览器上更轻松地使用(请参见上面的答案…@lund.mikkel不,您不是。为什么不在回答之前阅读一个链接呢?对不起,我的回答没有多大意义。我正在使用条件get!我通过将上次修改的日期与文件名的md5散列相结合来创建一个etag,这是我在另一条评论中发布的get变量文件中得到的。但是非常感谢你的文章!在这个问题上是最好的之一。我做了一些研究,但这次成功了!