我知道浏览器会发送if-modified-since标头(带时间戳),以保留css
和js
个文件的更新缓存。
所以,我遇到了加载一些随机css和js文件的问题,这是第一次加载特定页面时。
我正在使用jQuery的html()
API加载一个特定页面。
简而言之,我只是用index.html
替换当前snippet.html
的一小部分(jquery无法处理的任何内容)
问题是我包含js
和css
个文件snippet.html
看着我的浏览器加载文件,并观察我的apache请求日志,我清楚地看到snippet.html
snippet.html
<script type="text/javascript" src="/js/scripts/lib1.js"></script>
<script type="text/javascript" src="/js/scripts/lib2.js"></script>
<link type="text/css" rel="stylesheet" href="/styles/libs.css"/>
<table>
<tr>
<td>Whatever I do here</td>
</tr>
</table>
的index.html
<html>
<head>......</head>
<div id="loadshippets"> <!-- later, load snippet.html into here --></div>
</html>
如果我对我的浏览器进行硬刷新,那么这些库可以很好地加载。
但是,如果我清除缓存并尝试将snippet.html
加载到<div id="loadshippets">
我遇到同样的问题。
我所能推断的是html()
API对浏览器有限制。
我总是可以在index.html
内加载这些库,但我希望首先了解这个结果。 (我可能会在以后加载随机库,而不希望它们成为通用软件包的一部分)
有人知道为什么我的lib1.js
,lib2.js
和libs.css
会被浏览器忽略?
(在Chrome和FF中测试)
如果有帮助,我注意到在FF的错误控制台中出现此消息:
can't load xregexp twice in the same frame