javascript - 在 html 标签之前运行脚本和 DOM 是否不好

标签 javascript

在 html 标签之前运行脚本和 DOM 是否不好?我的页面上有一个用 div 和 table 创建的 float 窗口脚本,它会损害搜索引擎抓取网站吗?这是糟糕的编码吗?

最佳答案

它不仅不好,而且是无效代码,而无效代码会对搜索引擎优化产生不利影响。

始终验证您的代码,您可以在 http://validator.w3.org 执行此操作

<script>元素可以在 <head> 内的任何位置使用。和/或 <body>元素及其放置位置会对代码的运行方式或是否运行产生严重影响。

浏览器从左到右、从上到下读取网页内容。如果 script包含对浏览器尚未读取的元素的引用,脚本将失败。通过放置 <script>,您可以确保在脚本执行时浏览器已读取所有相关 HTML。结束之前的元素 body标记( </body> ),或者您可以将脚本放置在它引用的元素之前,但是您必须将代码包装在事件处理函数中,该函数直到元素引用之后才会触发已被解析到内存中。

很多时候,代码都在一个 script 中元素将依赖于另一个 script 的代码元素。在这些情况下,必须以正确的顺序将脚本包含在文档中。一个很好的例子是流行的 JQuery JavaScript 库的使用。您必须拥有script它引用位于要使用该库的任何其他脚本之前的 JQuery。

此外,当浏览器遇到script时元素(没有放置 asyncdefer 属性),它开始同步执行脚本的内容,这意味着在脚本运行时您的页面不会发生任何其他事情。这可能会导致用户界面被“阻止”(卡住)。这是脚本经常放在 body 末尾的另一个原因。 ,因为此时至少页面的主要内容已经被解析并且对用户可见,并且他们通常甚至不知道发生了阻塞。

关于javascript - 在 html 标签之前运行脚本和 DOM 是否不好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49928066/

相关文章:

javascript - 无法从 jQuery 将二进制数据保存到 AWS S3

javascript - Three.js 当渲染器位于 div 而不是整个窗口时如何获取准确的世界坐标

javascript - 在 javascript 数组中维护对 DOM 对象和/或 jQuery 对象的引用是个坏主意吗?

javascript - 动态插入的 JQuery Mobile slider

javascript - 使用 JavaScript 遍历 Weekdays 数组并为今天的 'date' 添加一个类

javascript - 停止使用 jquery 显示一个 div

javascript - 如何在 JavaScript 中的数组中添加多个对象?

javascript - JSTS : How to union of more then two polygons in openlayer2 using JSTS library

javascript - 如何编辑 Amcharts X 轴?

javascript - C3js : How to hide ticks on y-axis? Y轴标签被 chop