无论如何,有没有要监听<link>元素的onload事件?
<link>
F.ex:
var link = document.createElement('link'); link.rel = 'stylesheet'; link.href = 'styles.css'; link.onload = link.onreadystatechange = function(e) { console.log(e); };
这适用于<script>元素,但不适用于<link>。还有另一种方法吗?我只需要知道外部样式表中的样式何时应用于DOM。
<script>
更新:
将隐藏物<iframe>添加<link>到头部,然后window.onload在iframe中监听事件是否是一个主意?它应在加载CSS时触发,但可能无法保证它已在顶部窗口中加载…
<iframe>
window.onload
这是一种hack,但是如果您可以编辑CSS,则可以添加一种特殊的样式(没有可见的效果),您可以使用本文中的技术来收听:
您需要页面中的元素具有CSS会影响的类或ID。当您的代码检测到样式已更改时,即表示已加载CSS。
就像我说的那样:)