Open 7UP-hue opened 2 months ago
IE在 <link>
设置了 crossorigin="anonymous"
之后,仍然不能获取样式表;并且在 CSS 加载失败的时候只有 load
事件,没有 error
事件,所以无法区分加载成功与失败。
目前只能想到一个比较绕的方法来解决:
先在link元素上设置检查flag
<link
+ data-assets-retry-style-checker="sync"
type="text/css"
rel="stylesheet"
href="/e2e/fixture/styles/sync.css"
/>
在CSS文件中,为对应的link增加待检查样式(使用animation-name,因为里面可以存放任意符合要求的字符串)
+ link[data-assets-retry-style-checker="sync"] {
+ animation-name: sync;
+ }
(上面两步可以通过打包插件实现)
在检测 CSS
是否加载成功时,对于包含 data-assets-retry-style-checker
的 <link>
元素,不使用 cssRules
来检测,而是检测 link
元素上 animation-name
的值是否正确
在IE浏览器使用时发现css资源加载失败时重试不生效
写了一个简单的demo测试
发现在chrome能够正常输出两个
load error
,但是在IE只能输出script的error。感觉像是link标签的error事件在IE监听不到?