我有一个JavaScript,目前正在5个以上的网站上重复使用,并且随着时间的推移会被更多的网站使用,事情是 - javascript根据服务器名称运行一些检查,我是想知道创建一些JS文件的最佳方法是什么,其中包含一些服务器端变量,例如:
JS-的functions.php:
<script type='text/javascript'>
var myServer = <?php echo $_SERVER['SERVER_NAME'] ?>;
</script>
目前,这个文件每次都会被下载,所以如何让它发送304未修改,并使用浏览器缓存为我的优势
答案 0 :(得分:4)
使用.htaccess
RewriteEngine on
RewriteRule javascript.js javascript.php [L]
将您的php文件javascript.php
命名为javascript.js
注意:您需要在发送任何输出之前在php文件中设置正确的缓存标头
答案 1 :(得分:2)
我根本不会创建动态JS文件。如果可能的话,将所有动态内容放入主文档中;然后从静态资源加载JavaScript的主要部分。
将您已有的代码放入每个HTML页面的head
部分:
<script type='text/javascript'>
var myServer = "<?php echo $_SERVER['SERVER_NAME'] ?>";
</script>
然后链接到静态JavaScript文件:
<script src="http://domain.com/js/script.js">
在JavaScript文件中,不要使用任何PHP;使用myServer
变量进行检查。
这样做的好处是,如果Web服务器配置正确,静态JS文件将只加载一次,您不必担心缓存。
您甚至可以在所有5个网站之间共享相同的JavaScript网址。