gpt4 book ai didi

html - 为什么链接、样式和脚本元素会被浏览器错误地从头部移动到主体?

转载 作者:搜寻专家 更新时间:2023-10-31 23:06:23 26 4
gpt4 key购买 nike

<分区>

问题:当我在 head 元素中放置链接、样式或脚本元素时,浏览器似乎错误地将这些元素移动到 body 元素中,这是通过遍历 JavaScript 节点树检测到的。我所说的错误是指它们违反了规范。例如http://www.whatwg.org/specs/web-apps/current-work/#the-link-element其中指出:

Note: If the rel attribute is used, the element is restricted to the head element.

这是我的代码

<!DOCTYPE html>
<html>
<head>
<title>head test</title>
<meta charset="utf-8" />.
<link href="sample.css" rel="stylesheet" />
<script></script>
<style>p{font-family:"Times New Roman";font-size:20px;}</style>
</head>
<body>
<p>test paragraph</p>
<script type="text/javascript">
function htmlTree(obj){
var obj = obj || document.getElementsByTagName('html')[0];
var str = "<ul><li>" + obj.tagName;
if (obj.hasChildNodes()) {
var child = obj.firstChild;
while (child) {
if (child.nodeType === 1) {
str += htmlTree(child)
}
child = child.nextSibling;
}
}
str += "</li></ul>";
return str;
}
window.onload=document.write(htmlTree());

结果如下:

HTML
HEAD
TITLE
META
BODY
LINK
SCRIPT
STYLE
P
SCRIPT

请注意,头部的链接、脚本和样式元素已移至正文,而标题和元元素是正确的。不幸的是,这已经成为我的一个问题,因为当我使用 HTML5 contentedible 和移动元素时,这些元素会变得杂乱无章,无法理清。由于 html5 支持这些元素的类属性,我想知道是否可以使用“headtype”类来区分这些特定元素。

这有点类似于Webkit moves head content to body, and adds extra space?但更详细。这个问题是针对 WebKit 的,但我已经在 WebKit、Chrome、IE 和 Firefox 中对此进行了测试,并且在每个浏览器中都得到了相同的结果,这让我感到困惑。

由于所有主要浏览器都有相同的行为,我怀疑我误解了某些东西,并希望得到任何帮助。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com