如何在不使用JavaScript的情况下异步加载CSS?

Jit*_*yas 16 css performance

假设我有一个网站http://somethingsomething.com

我有3个css文件

  • common.css
  • homepage.css
  • 内pages.css

homepage.css主页需要,并且common.css是整个网站,但是inner-pages.css仅用于其他页面,是大文件.inner-pages.css主页数据下载后是否可以加载.就像我们使用标签async属性一样script.据我所知, async属性仅适用于JS而不是CSS

我的一个朋友建议在这个http://requirejs.org/docs/faq-advanced.html#css上使用requirejs,但是我不想用javascript加载css,甚至我会想到JS方式我不会用require.js就是为了这个.所以,如果只有CSS不可能.什么是简单的JS方法来做到这一点?

Abh*_*pta 9

Async CSS with media ="bogus"and a <link>at foot Say我们的HTML结构如下:

<head>
    <!-- unimportant nonsense -->
    <link rel="stylesheet" href="style.css" media="bogus">
</head>
<body>
    <!-- other unimportant nonsense, such as content -->
    <link rel="stylesheet" href="style.css">
</body>
Run Code Online (Sandbox Code Playgroud)

更多信息,请访问http://codepen.io/Tigt/post/async-css-without-javascript


Dav*_*yen 1

您可以在页面中放置一个 iframe,指向某个提供 CSS 服务的虚拟页面,该页面应该异步提供 CSS 文件。

<iframe src="loadcss.html"></iframe>

请注意,这看起来相当微不足道,这会导致每个页面至少传输 2 个 css 文件,每个子页面传输至少 3 个 css 文件(如果未缓存)。如果你要缩小 css,无论如何你都只会有 1 次传输。