HEAD标签和BODY标签有什么区别?
大多数HTML书籍只是"简要"提及<head>和<body>标签......但它们只是快速消失.
它们会影响浏览器呈现网页的方式吗?
此外,它们是否会影响javascripts的运行顺序?
(我的意思是,如果我在<head>标签内部有一个javascript ,它会在<body>标签内的另一个javascript中运行吗?即使<body>是在BEFORE之前来的<head>?)
这太令人困惑 - 我从来没有使用过头部/身体标签,但我从来没有遇到任何麻烦.但在阅读Jquery教程时,我看到人们建议将一些代码放在里面<head>,其他<body>代码放在标签内.
谢谢!!!
如果我的<head></head>HTML页面部分中包含外部样式表,它们是否会在HTML之前加载并立即应用于渲染?让我介绍一下我的具体用例.
外部styles.css文件:
form label {
display: none;
}
Run Code Online (Sandbox Code Playgroud)
包含表格的页面:
<head>
<link rel="stylesheet" href="styles.css" type="text/css" />
</head>
<form action="process.php" method="post">
<label for="name">Name</label>
<input type="text" id="name" name="name" />
</form>
Run Code Online (Sandbox Code Playgroud)
我可以确信标签在页面加载时是不可见的(由于CSS下载没有闪烁)吗?
否则,我可以内联添加样式属性,但这可能是维护的噩梦.
我评价一个脚本加载优化现有资源,但我readed像一些文章这个,是指直到这个顺序脚本加载阶段完成旧的浏览器阻止其他下载.我检查Modernizr(yepnope.js),headjs和ControlJs作为候选人.但是,它是否需要在现代浏览器中使用此工具进行并行脚本加载?
我发现这个漂亮的邮递kirupa.com,但我想在负荷,渲染和DOM一样,脚本,CSS,图片,iFrame等元素的执行深为了解
到现在为止我已理解下一个订单:
根据文章'虽然外部样式表不会被加载,但内联和外部脚本都会被加载.但根据MDM '样式表加载块脚本执行'.因此首先加载脚本,但只有在所有css可用后才执行它们?
我可以认为订单取决于浏览器的实现,还是有任何标准可以做到这一点?
有些专家会告诉我们正确的订单吗?
提前致谢!
我写了一个小插件来获取页面加载/渲染时间.它收集$(document).ready的完成时间,我已经把代码片段收集在<title>标签之后的开始时间.
我希望这不那么突兀,所以似乎应该有一个早于.ready的事件,我可以在那里收集最早可测量的页面开始时间.
这是目前突兀的javascript
<title></title>
<script type="text/javascript">
var startTime = (new Date()).getTime();
</script>
Run Code Online (Sandbox Code Playgroud)
这是插件:
(function ($) {
$(document).ready(function () {
var endTime = (new Date()).getTime();
var millisecondsLoading = endTime - startTime;
$.get('hicmah.ashx?duration=' + millisecondsLoading, function (data) {
});
});
})(jQuery);
Run Code Online (Sandbox Code Playgroud) 是否可以异步加载背景图像?
我已经看到很多jQuery插件以异步方式加载普通图像,但我无法找到是否可以预加载/异步加载背景图像.
编辑
我澄清了我的问题.我一直在这个测试网站http://mentalfaps.com/上工作 .背景图像是从一组图像中随机加载的,这些图像每小时由一个计时工作刷新(在flickr目录上随机拍摄图像).
主机现在是自由和缓慢的,因此背景图像需要一些时间来加载.
第一个叠加层(带有PNG透明mentalfaps徽标的叠加层)和宽度的定位由jQuery(document).readycostruct中创建的函数调节.
如果您尝试多次刷新页面,右侧叠加div的宽度为0(因此您在布局中看到"洞")
以下是设置我的立场的方法:
function setPositions(){
var oH = $('#overlay-header');
var overlayHeaderOffset = oH.offset();
var overlayRightWidth = $(window).width() - (overlayHeaderOffset.left + oH.width());
if (overlayRightWidth >= 0) {
$('#overlay-right').width(overlayRightWidth);
} else {
$('#overlay-right').width(0);
}
var lW = $('#loader-wrapper');
lW.offset({
left: (overlayHeaderOffset.left + oH.width() - lW.width())
});
}
Run Code Online (Sandbox Code Playgroud)
问题是$(window).width()低于有效窗口宽度!所以检查失败并且脚本适用$('#overlay-right').width(0);
有任何想法吗?
我试图了解HTML在浏览器中的屏幕上呈现的时间.
我读了这个SO答案,并尝试了一些用例,我观察到一些不适合链接中共享的模型的东西,
我似乎也找不到一致的观察思维模型.
什么是适合所讨论案例的浏览器呈现顺序?
案例A与大多数答案中描述的顺序不一致.Huray!让我们继续.
所以Case-B显示它没有呈现M1,它在渲染之前等待CSS下载. 因此渲染器可能需要在渲染之前知道CSS.
案例:C 图像C.
所以从案例B开始,我们假设渲染器可能需要知道CSS.
让我们看看案例C:
编辑: 提出的思维模型解释了上述行为..(但需要审查/改进)
Script 不是渲染器阻止标记 link 是一个渲染器阻止标记 通过上面的模型我们可以解释CASE B和CASE C:
CASE B说明:
同样我们可以干运行CASE C,它完全适合上述模型.
我的模型是正确的还是有问题的?
您好,我的问题是关于如何加载网页!这是我的代码:
<!DOCTYPE html>
<html>
<head>
<title>JavaScript</title>
</head>
<body>
<h1>Waiting</h1>
<script type="text/javascript">
alert("Why?");
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我一生都无法弄清楚为什么在显示标题之前会运行警报。我的理解是,由于警报位于结束正文标记的正上方,因此它将是最后运行的内容。为什么页面在显示标题之前等待我关闭警报?
谢谢您的帮助!
编辑:我在 Firefox 而不是 chrome 中运行了这段代码,它按照我想要的方式工作 - 在警报运行之前首先显示标题。
我认为这可能是一个依赖浏览器的问题 - 假设我有10个Javascript文件和几个HTML页面.假设HTML pageA只需要JS1.js和JS3.js,类似HTML pageB需要JS4.js和JS1.js. 我想知道在所有HTML页面中包含所有10个javascript文件会有什么影响?它会直接与浏览器的内存消耗有关吗?
我特别使用YUI javascript库来解决这个问题.有几个组件,如数据表,事件,容器,日历,dom事件等,它们被包含的顺序似乎也很重要 - 例如dom-event js应该包含在其余部分之前才能工作.因此,为了避免所有这些混淆,我想到将所有这些js文件包含在一个包含在所有HTML页面中的头文件中.
我担心的是它可能导致的内存膨胀和性能问题.请提供相同的建议..
谢谢,-Keshav
我有一个HTML文件,链接到CSS文件和JavaScript文件.
首先执行JavaScript然后应用CSS,反之亦然?
有没有办法改变订单?
谢谢 !
我想知道在打开网页时首先加载哪些元素(html标签,脚本,样式,图像)?
有谁能够帮我?提前致谢.
我对 Web 开发不太陌生,当我在互联网上搜索其他主题时,我看到很多人将流行的 JS 库放在他们网站的不同位置。
例如:在该部分的最开头或开头插入 JS 库 <head> </head> 。(在加载任何 JS 代码或 CSS 文件之前)
例如:在该 <head> </head> 部分的末尾插入 JS 库。(加载所有JS代码和CSS文件后)
例如:在该 <body> </body> 部分的末尾插入 JS 库。(加载所有 JS 代码、文本、图像、视频、CSS 文件等后...)
所以我的问题是这样的。
将以下 JS 库、插件和 CSS 样式表插入(何处)到网页以获得最快的加载时间和其他优势的最佳实践是什么?- 请说明原因 -
JQuery 及其插件
引导3.js
Modernizr.js
Angular.js
还有另一个广泛使用的 JS 库,我在这里无法提及......
规范化.css
重置.css
bootstrap.css + 更多
谢谢..!
我的 HTML 文件中有以下代码:
<script src = "js/create.js"></script>
<script>
function show() {
//some code here
}
</script>
Run Code Online (Sandbox Code Playgroud)
在 JavaScript 文件 create.js 中,我想调用show()块中定义的函数,如下所示:
//File create.js
var a = show();
Run Code Online (Sandbox Code Playgroud)
那么show()文件 create.js 中的函数是否可以访问?