javascript 在div中有script标签是不是不好?

zaqlnxep  于 2023-05-21  发布在  Java
关注(0)|答案(6)|浏览(486)

<body>内的<div>内有一个<script>标签有什么不好?
我正在动态更新<div>,以便在<div>中重新加载JavaScript代码。有什么问题需要担心吗?

编辑

因为@Bergi坚持要看代码。在这里(见下文)。此div(沿着其他包含演示HTML元素的div)通过 AJAX 进行更新。div中的script包含Map,用于处理带有原始数据的页面上新加载的HTML元素。

<div>
            <script type="text/javascript">
                var namesMap = <dynamic string from server here>;
                var addressesMap = <dynamic string from server here>;
            </script>
        </div>
gzszwxb4

gzszwxb41#

<script>标记放置在文档主体的任何位置都是完全可以的。
从这里
SCRIPT元素将脚本放置在文档中。此元素可以在HTML文档的HEAD或BODY中出现任意次数。
但是,每当出现<script>标记时,它会暂停代码解析,直到脚本加载并执行。

myss37ts

myss37ts2#

您可以在DIV标记中添加<script></script>。只要检查w3c,它是有效的HTML。

m2xkgtsf

m2xkgtsf3#

这并没有什么不好的。大多数widget都是这样工作的。它仍然是有效的HTML。
如果你想在你的页面中嵌入一个AdSense单元,你需要这样做。Amazon Widgets也是如此。这意味着大多数网站在div中有一个script标签。

kpbwa7wx

kpbwa7wx4#

把脚本放在html里面有优点也有缺点。好的一面是,一个小脚本可以放在靠近它被使用的地方,这样你就可以更容易地理解页面在做什么。
如果没有其他人,但一个位置需要的脚本,那么它是罚款把它放在那里,我想。
糟糕的是,当您将程序的各个部分划分到多个位置时,要查看和管理这些部分如何相互作用和相互干扰变得更加困难。然而,如果你把html和javascript放在不同的文件中,那么就更容易分别理解它们,然后最终关注它们如何相互作用。它们之间的“接口”是什么。
如果JavaScript散布在HTML中,那么你就不能组织你的脚本代码,而不是组织HTML。
还有一件事要注意:如果您有一个DIV,您可能认为可以通过重新分配其innerHTML来操作其内容。这是可行的,只是不能以这种方式将脚本注入DIV。参见:
Can scripts be inserted with innerHTML?
因此,在DIV中包含脚本的一个缺点是,您不能通过重新分配其innerHTML来替换这样的脚本。

41ik7eoe

41ik7eoe5#

<DIV>内部的脚本仍然可以工作。但有些人烦恼与您的布局- shacking时滚动。最佳解决方案:将脚本放入<body><head>:D

enyaitl3

enyaitl36#

尝试将<script></script>标记放在<head></head>中一直是一个很好的做法。然而,最近出现的争论是否将一个标签放在<body></body>标签的末尾,就在页面更快之前。
我建议把你的<script></script>放在你的HTML文档的<head></head>部分,因为它更受欢迎。此外,将<script></script>放在DIV中并不是一个好的做法。
你可以贴出你的例子来获得关于组织文档结构的更好的答案。
总而言之,你正在做的事情没有问题。但更有组织的方式是我建议的。

相关问题