2009年12月1日,Google宣布支持异步Google Analytics跟踪.
使用<script>标记的async指令实现异步跟踪.
哪些浏览器支持async指令(<script async="async" />)以及哪个版本?
我很困惑哪些JavaScript应该包含在哪里?
例如:
应该在哪里包含jQuery库?在<head>关闭</body>元素之前还是之前?
如果JavaScript在底部定义<body>,它可以在体内使用吗?
如果它阻止并行下载,那为什么它从未说过将CSS包含在底部呢?
注意:这是一个社区维基帖
为了尽可能地提高用户体验,我该怎么做才能更有效地加载我的HTML页面?
据我所知,CSS用于决定网页上的布局和其他样式.如果CSS位于页面底部,则所有内容(html元素,文本,图像等)都将使用浏览器自己的样式显示,当浏览器找到我们的CSS时,它会再次为我们重新设计页面.它可能被称为重新粉刷!
因此,我明白重新绘制页面和用户看到它会非常难看(FOUT - 无格式文本的Flash - 作为专家命名).但是,我仍然想了解:
重画可以花多少时间?大约值!我理解这可能取决于页面上的内容.还会发生什么或可能发生什么?
我现在主要担心的是是关于使用font-awesome CSS文件(外部托管在他们自己的cdn上下载css和字体文件).我想知道如果我将它放在页面底部或延迟加载会在设备上发生什么?目前它被放置在<head>部分为
link rel ='stylesheet'href =' http://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css'type ='text/css'media ='screen'
使用Del,使其不应该成为问题的主要部分.问题的主要部分是关于底部的一些CSS然后将通过测量给出或支持的测量重新绘制,阻塞等会发生什么.
在上述情况下,或者只有部分文档会受到底层CSS的影响,那么会发生什么?浏览器重绘一切,还有什么?它需要多长时间.假设,font-awesome用于放置10个图标<i>.
当CSS处于底部时,我无法确定实际发生了什么.所以,如果您有任何显示流量的视频或图像,请在此处提及.
将所有内容都基于设备的性能,以及当然用户体验.谢谢.
更新:我为自己和每个人提供了更多的东西.这是一个谷歌建议用于css的函数(delayLoadCss),用于下载内容.虽然,我不会那么极端,但是对于Font-Awesome类型的CSS呢?

我们有各种页面的嵌套布局.例如:
Master.cshtml
<!DOCTYPE html>
<html>
<head>...</head>
<body>@RenderBody()<body>
</html>
Run Code Online (Sandbox Code Playgroud)
Question.cshtml
<div>
... lot of stuff ...
@Html.Partial("Voting", Model.Votes)
</div>
<script type="text/javascript">
... some javascript ..
</script>
Run Code Online (Sandbox Code Playgroud)
Voting.cshtml
<div>
... lot of stuff ...
</div>
<script type="text/javascript">
... some javascript ..
</script>
Run Code Online (Sandbox Code Playgroud)
这一切都很好,但我想在所有内容之后推送所有JavaScript块在页面的页脚中呈现.
有没有办法在嵌套的partials中定义一个魔术指令,可以导致各种脚本标签在页面底部按顺序呈现?
例如,我可以创建一个捕获所有js块的魔术助手,然后获得顶层布局来渲染它:
Voting.cshtml
<div>
... lot of stuff ...
</div>
@appendJSToFooter{
<script type="text/javascript">
... some javascript ..
</script>
}
Run Code Online (Sandbox Code Playgroud) 我们有一个在所有浏览器和设备上都能很好地呈现的网站,除了第一次在Safari移动设备(或窄屏幕上的Safari Mac)中打开它.
在iPhone Safari上重现:
在Safari for Mac上重现:
预期: 页面应该第一次和第二次呈现相同
实际: 在私人模式中第一次只显示绿色框第二次,页面完全呈现
结果: 我试图比较两个页面(当它正确渲染时,以及渲染被破坏时),看看是否有任何差异,要发现在这两种情况下,页面都具有完全相同的HTML和CSS.
如果您检查任何未在第一次尝试(这应该页面刷新后正确地呈现)所示的元素,你不会发现,是影响该元素的可见性的任何样式(如opacity,display,visibility,position,...等)
更新:
似乎Safari控制台Unhandled Promise Rejection: [object DOMError]中可能存在导致此问题的错误,我做了一项研究,发现它可能是由于页面上自动播放视频引起的(页面确实有视频,但视频即使抛出此错误也会播放),所以我认为应该有另一个原因导致抛出此错误
关于我们为何在Safari上看到此类行为的任何建议都受到高度赞赏.
(如果这是一个非常基本的问题,我道歉.我有点像HTML菜鸟.)
在HTML5中,<head>元素中的相对排序是具有形式的元素<link rel="stylesheet" type="text/css" ...>和具有<script ...></script>所有重要形式的元素,无论是在语义上还是在性能方面(或以其他方式)?
例如,假设(可能是神话般的)"完全符合HTML5的浏览器",是否存在以下两个片段会产生"不同结果"(即,不同的外观,或明显不同的性能或不同的行为等)的情况. ?
<!DOCTYPE html>
<html>
<head>
<!-- ... -->
<link rel="stylesheet" type="text/css" href="foo.css"/>
<script src="foo.js"></script>
<!-- ... -->
</head>
<!-- ... -->
</html>
Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html>
<head>
<!-- ... -->
<script src="foo.js"></script>
<link rel="stylesheet" type="text/css" href="foo.css"/>
<!-- ... -->
</head>
<!-- ... -->
</html>
Run Code Online (Sandbox Code Playgroud)
(<!-- ... -->表示两种情况都正确且通用的代码.IOW,两种情况之间的唯一区别是元素中元素<link...>和<script>...</script>元素的排序<head>...</head>.)
我试图将我的HTML主页链接到外部CSS样式表和外部javascript(.js)文件.无论出于何种原因,取决于我在HTML文件中列出的顺序,只有其中一个可以使用.我在Javascript文件中使用了一个简单的警告框来测试它是否正常工作,它只在首先链接javascript文件时才会测试.这是我的工作......(我也是一个HTML菜鸟)
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8 />
<link rel="stylesheet" href="trinity.css" />
<Script src="churchJavaScript.js"></script>
<title>Trinity Temple</title>
</head>
<body>
<div id="CompleteWrapper">
<header id="headerSection">
<h1> Trinity Temple</h1>
<h3> And I sent messengers unto them, saying, I am doing a great work, so that I cannot come down: </br>
why should the work cease, whilst I leave it, and come down to you? Nehemiah 6:3 </h3>
</header>
<nav id="navSection">
<ul>
<li>Home</li>
<li><a href="serviceInformation.html">Service Information</a></li>
<li><a href="aboutUs.html">About Us</a></li>
<li><a href="directory.html">Directory</a></li>
<li><a href="contactUs.html">Contact Us</a></li> …Run Code Online (Sandbox Code Playgroud) 为什么在加载页面时首先加载HTML和CSS会更快.这个一般规则有什么例外(如果有的话)?
css ×7
html ×7
javascript ×5
performance ×3
html5 ×2
asp.net ×1
asynchronous ×1
c# ×1
ios ×1
jquery ×1
macos ×1
pagespeed ×1
razor ×1
safari ×1