HTML 5自动聚焦功能影响CSS加载

13

当我在输入元素上设置autofocus="autofocus"时,在Firefox中,当页面加载时,它会在一瞬间显示,但没有应用CSS。(例如,内容未居中,标题以默认字体呈现等)

如果我删除自动聚焦,则页面可以正常加载并在准备就绪时显示。

在Firefox中使用autofocus功能的同时,是否有办法让页面正常加载?


5
这似乎是Firefox浏览器的一个漏洞:https://bugzilla.mozilla.org/show_bug.cgi?id=712130 - tw16
1个回答

16

我发现通过在<head>中添加一些JavaScript代码,页面会在聚焦前等待样式加载。

我不是很确定为什么这样能行,但它确实有效!

示例:

<script type="text/javascript">
    // Fix for Firefox autofocus CSS bug
    // See: https://dev59.com/XWMk5IYBdhLWcg3w0RGU#18945951
</script>

2
这个方法有效是因为它阻塞了浏览器,而且似乎这短暂的阻塞足以让Firefox在后台正确地布局页面。 - Fleshgrinder
4
这个 bug 似乎最近已经被修复,并将在 Firefox 60 中发布:https://bugzilla.mozilla.org/show_bug.cgi?id=712130 - sylbru
我在Firefox 89中看到了这个。 - taylorthurlow

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接