【发布时间】:2012-04-07 06:27:27
【问题描述】:
不久前,我遇到了 javascript 资产问题。当我对它们进行更改时,它们不会生效,并且文件将变为无效的 javascript(萤火虫引发错误和警告)。
我注意到我的更改没有出现,特殊字符被添加到文件末尾。再深入一点,我注意到特殊字符正是我编辑的字符数。
原码:
$(document).ready(function(){
alert('what');
});
添加一行,应该是这样的:
$(document).ready(function(){
alert('what');
alert("what's going on?!);
});
像这样渲染:
$(document).ready(function(){
alert('what');
});��������������������������
当我研究时,我发现修改 apache 配置的 /etc/httpd/conf/httpd.conf 并注释掉 EnableSendfile off 解决了这个问题。
然而……
现在问题又回来了,但是 apache 配置没有改变。
请帮忙。我目前的工作是重命名文件,查看新文件并重新命名;这让我非常恼火。
我正在开发一个 vagrant box,CentOS 6,PHP 5.3/apache 2 - 原始解决方案可以在这里找到:Shared folder in VirtualBox for Apache。
不幸的是,这似乎不再有效。
【问题讨论】:
-
您是否检查过 Windows 换行符等不可见字符?制表符/空格?
-
是的,文件是干净的。只有新的更改会转换为这些特殊字符。
-
你可以使用一些像
<script type='application/javascript' src='somefile.js?v=somefileversion'></script>这样的缓存清除。但由于我对 apache 没有经验,您可能需要等待更好的建议。 -
Prusse - 缓存无效化不起作用,这似乎是提供文件的方式。
标签: javascript apache caching garbage