gpt4 book ai didi

javascript - Google Analytics 代码出现在眼前会怎样?

转载 作者:行者123 更新时间:2023-11-30 17:36:53 26 4
gpt4 key购买 nike

我正在查看一个网站,该网站在一个不寻常的地方有一些 Google Analytics(分析)代码,即在 <head> 之前标签。

Analytics 似乎都在正常工作...但是预期的行为是什么?

JS 会在标题之前立即加载吗?如果是这样,这对事物的跟踪方式有什么影响(如果有的话)?

更广泛地说,放置在 <head> 之外的各种 JavaScript 的预期行为是什么?和 <body>标签?

非常感谢任何建议。

干杯。

最佳答案

现代浏览器的问题在于它们不需要有效的 HTML。

如今,标签在遇到时会被解析,而无需严格检查。所以 <head> 之前的任何脚本(或任何标记元素,就此而言)部分,但仍在 <html> 内部分被视为 <head> 的一部分文档部分,以及 <head> 中存在的任何内容文档中的标记保存在 <head> 中如果仅存在有效标签,则推送到 body如果发现文本或无效标签。

这样的脚本,只要它们不引用 <head>标签会很好(因为 head 标签现在已经改变了)。这是正常但意外的行为,并且可以在浏览器甚至它们的版本之间改变。随着浏览器的发展,它们开始接受偏离严格标准的文件和结构。您可以使用 Chrome 中的开发者控制台 (F12) 在此文档上验证这一点:

<!DOCTYPE html>
<html>
<script>
console.log(document.getElementsByTagName('title'));
</script>
<head>
<title>This</title>
as
<script>var s="sastra";console.log(s);
</script><title>This2</title>
as
</head>
<body>
<a href="http://google.com">Click here for Google</a>
<p> How are you?</p>
</body>
</html>

并调用 document.getElementsByTagName('html')并查看他们的 headbody元素并将其与源进行比较。在上面的同一文档中,如果从 <head> 中删除了 2 个“as”部分,

我的意思是:

<!DOCTYPE html>
<html>
<script>
console.log(document.getElementsByTagName('title'));
</script>
<head>
<title>This</title>
<script>var s="sastra";console.log(s);
</script><title>This2</title>
</head>
<body>
<a href="http://google.com">Click here for Google</a>
<p> How are you?</p>
</body>
</html>

你会看到 headbody现在使用相同的开发者控制台是不同的。看,我告诉过你意想不到的行为。

现在标签是根据上下文来识别的,浏览器可以毫不费力地呈现像 <html><title>TitleHere 这样的东西这违反了很多规则。自己试试吧!

希望对您有所帮助! :)

关于javascript - Google Analytics 代码出现在眼前会怎样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21858388/

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