从我能够找到的所有内容中,大型 CSSbackground-image
不应该阻止 javascript 执行。不幸的是,在 Firefox 和 Chrome 上似乎确实如此。
如果我在 Chrome 上进行硬刷新,我可以看到后台缓慢加载(在慢速连接上),然后一旦完成,我的 JavaScript 就会执行,显示页面的其余内容。
当 DOM 和 Facebook SDK 准备就绪时,我正在使用 jQuery$(document).ready
和 Facebook 的window.fbAsyncInit
方法来运行 JavaScript。
我不确定它是否相关,但背景是在 CSS 中设置的:
body {
background: black url(...) no-repeat top center fixed;
-webkit-background-size: cover;
background-size: cover;
background-position: 50% 50%;
}
我已经在使用 CSS 媒体查询来为更小的屏幕分辨率加载更小的图像,并且使背景图像更小并不能解决问题;它只会隐藏症状。
我还应该做些什么来确保背景图像不会阻止 JavaScript 执行?
我的想法是加载一个虚拟背景图像,然后让 JavaScript 附加另一个带有真实背景图像的样式表(以及针对较小屏幕的媒体查询),但这似乎很棘手。