我现在有这个结构:
<!DOCTYPE html>
<html>
<head>
<!-- stylesheets-->
<link rel='stylesheet' href='/static/stylesheets/style.css'/>
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,700,600,300' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap-theme.min.css">
<link href="/static/css/bootstrap/bootstrap-notify.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="/static/css/portal/simple-sidebar.css" media="screen" />
<link rel="stylesheet" type="text/css" href="/static/css/userProfileView/user-profile.css" media="screen" />
</head>
<body>
<main>
<div name="main-div" id="main-div-id"></div>
</main>
</body>
<% if(env == 'development') {%>
<script data-main="/static/app/js/main" src="/static/vendor/require.js"></script>
<% } else { %>
<script src="/static/app/optimized/optimized.js"></script>
<% } %>
</html>
正如你所看到的,我的javascripts“在底部”,但它们在身体标签之外,而不在里面。
我确信它会有所作为,但我不确定将脚本放在<head>
之外和<body>
标记之外会有什么不同。
答案 0 :(得分:1)
起初我以为我记得<head>
和<body>
是可选的,因此可以将<script>
放在<html>
中,但它是&#39 ; s只是部分正确。
<script>
,因为<html>
可能只包含<html>
和<head>
。
但是,如果您未声明<body>
或<body>
,则浏览器会隐式为您创建它们(under the right conditions)。即这是无效的:
<head>
这隐式创建了一个body元素,其中脚本标记是其中的一部分:
<html>
<head></head>
<body><body>
<script>console.log('test')</script>
</html>
这隐式创建了一个head元素,脚本标记是其中的一部分:
<html>
<head></head>
<script>console.log('test')</script>
</html>
所以不,你不应该在<html>
<script>console.log('test')</script>
</html>
<script>