我刚刚意识到(几年后){。3}}在.js文件中使用PHP听起来非常方便(特别是在提供数据库中的语言文本时)
就像这样:
AddType application/x-httpd-php .js
AddHandler x-httpd-php5 .js
<FilesMatch "\.(js|php)$">
SetHandler application/x-httpd-php
</FilesMatch>
所以我的问题是,这对性能有多大影响?我想它不再被认为是静态文件了,它不会以同样的方式缓存?
- 编辑 -
注意:我已经通过htaccess
对.js文件使用缓存控制答案 0 :(得分:1)
网络浏览器无法查看它是否来自PHP,但您可以手动设置自定义HTTP标头,如Cache-Control
,Expires
或Last-Modified
浏览器缓存您的动态Javascript文件,但它失败了使它们动态化的目的,除非您确保这些Javascript文件不会在一段时间内更新(比如说一天),然后设置正确的标题控制浏览器缓存。
正如我在评论中所说,出于三个原因,这不是一个好习惯:
答案 1 :(得分:0)
从现在开始影响性能的浏览器将无法缓存javascript文件。使您的javascript文件处理来自远程源的数据。
我通常倾向于做的事情如下:
在您的视图(php)中,您定义了一个配置javascript对象:
var CompanyNS.modules.whatever.config = {
id: <?php echo $object->getId(); ?>,
name: <?php echo $object->getName(); ?>
}
在你的javascript中:
var config = CompanyNS.modules.whatever.config;
// do whatever you need with the dynamic data