在 html 标签之前运行脚本和 DOM 是否不好?我的页面上有一个用 div 和 table 创建的 float 窗口脚本,它会损害搜索引擎抓取网站吗?这是糟糕的编码吗?
最佳答案
它不仅不好,而且是无效代码,而无效代码会对搜索引擎优化产生不利影响。
始终验证您的代码,您可以在 http://validator.w3.org 执行此操作。
<script>
元素可以在 <head>
内的任何位置使用。和/或 <body>
元素及其放置位置会对代码的运行方式或是否运行产生严重影响。
浏览器从左到右、从上到下读取网页内容。如果 script
包含对浏览器尚未读取的元素的引用,脚本将失败。通过放置 <script>
,您可以确保在脚本执行时浏览器已读取所有相关 HTML。结束之前的元素 body
标记( </body>
),或者您可以将脚本放置在它引用的元素之前,但是您必须将代码包装在事件处理函数中,该函数直到元素引用之后才会触发已被解析到内存中。
很多时候,代码都在一个 script
中元素将依赖于另一个 script
的代码元素。在这些情况下,必须以正确的顺序将脚本包含在文档中。一个很好的例子是流行的 JQuery JavaScript 库的使用。您必须拥有script
它引用位于要使用该库的任何其他脚本之前的 JQuery。
此外,当浏览器遇到script
时元素(没有放置 async
或 defer
属性),它开始同步执行脚本的内容,这意味着在脚本运行时您的页面不会发生任何其他事情。这可能会导致用户界面被“阻止”(卡住)。这是脚本经常放在 body
末尾的另一个原因。 ,因为此时至少页面的主要内容已经被解析并且对用户可见,并且他们通常甚至不知道发生了阻塞。
关于javascript - 在 html 标签之前运行脚本和 DOM 是否不好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49928066/