gpt4 book ai didi

javascript - IE 7 & 8 javascript 文件使用 require.js 进行缓存

转载 作者:行者123 更新时间:2023-11-30 13:33:36 24 4
gpt4 key购买 nike

我有一个页面 javascript page.js 正在加载 require.js。在调用require.js之后,页面底部调用了page.js,如下:

<script>
require(["page"]);
</script>

page.js 中的函数不会在每次访问页面时都执行。

要清楚,一个警报('你好');在 page.js 的中间会被提醒最多但不是所有时间。我很确定这不是现有的 IE 问题,只要没有其他 JS 错误,就会始终执行一个简单的警报。

95% 的时间页面及其相应的函数执行,大约 5% 的时间 IE 浏览器不会重新执行 page.js 的内容。

我不认为这是一个固有的 IE 问题,而是 require.js 被 IE 中发现的相关激进缓存问题绊倒了。

编辑:澄清一下,当错误发生时,page.js 文件在 f12 dom 加载中是可见的。该页面已正确缓存。问题是缓存的代码文件没有重新运行!

比如这个文件中的alert没有执行!

我不确定 require.js 的内部结构,但我想他们会为资源执行 xhr 并对其进行评估。 xhr 似乎已完成并加载到 dom 中,但 eval 无法正常工作。 (这当然是猜测,因为我对 require.js 内部知识了解不够)。

最佳答案

我知道防止缓存 js 文件的唯一方法是在末尾添加一个随机字符串:示例:

<script src="http://www.mydomaine.com/myjsfile.js?t=123456"></script>

使用 md5 哈希或其他任何方式随机生成“t”参数内容,这让浏览器认为它每次都是不同的文件。

关于javascript - IE 7 & 8 javascript 文件使用 require.js 进行缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5784319/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com