我们有 ASP.NET 应用程序,我们在其中使用 YUI 为用户界面生成弹出窗口。现在,当我测试本地安装的网站时,弹出窗口会正确显示而不会出现任何错误,并且还会在所有浏览器(包括 IE 7/8/9)上正确显示。
然而,当网站暴露在服务器上并且我试图从外部网络对其进行测试时,YUI 弹出窗口没有得到正确生成,就像某些 Javascript 或 CSS 没有被加载或被缓存一样。通常 Ctr+F5 可以刷新本地缓存并解决我们添加查询参数 xyz.css?v=10 的问题。但它不起作用。现在这个问题只在 IE(6/7/8/9) 上显示,其他浏览器都正常工作。为了检查这个问题,我再次登录到生产箱,发现弹出窗口也在 IE 上正确显示。
现在我不知道这怎么可能发生。有没有人遇到过这样的事情?问题的原因可能是什么以及如何解决?
谢谢
最佳答案
据我所知,IE 会缓存 GET 响应。
xyz.css?v=10 技巧在你希望它使用缓存的 CSS 时使用,但前提是它是相同的版本。每当您更改 css 中的内容时,您都需要更改 url(即 xyz.css?v=20)。
如果您希望 IE 永远不使用缓存的 css,您需要 URL 每次看起来都不同。您可以通过向 url 添加一些时间戳来做到这一点。
类似于:
xyz.css?v=201201180600123
(201201180600123为时间戳)
关于javascript - 使用基于 IE JS/CSS(YUI) 的 UI 从外部网络访问站点时无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8906603/