当前位置: 代码迷 >> Web前端 >> Script 自称闭
  详细解决方案

Script 自称闭

热度:53   发布时间:2012-10-18 13:46:56.0
Script 自封闭

??? 在HTML中有一些自封闭的标签,如<br />,<img />。

??? 而在使用外部js文件的时候,是否也有人使用自封闭式的script标签呢?

???

假如有如下一个html文件,query.js中包含一个getsomebody()方法,那么页面在浏览器里面看起来什么样子呢?
链接是否能正确调用getsomebody方法么?

<html>
<head>
<script type="text/javascript" src="js1.js" />
</head>
<body>
<a href="javascript:getsomebody();">Test line</a>
some text...
</body>
<html>

?

如果你认为页面显示一个链接Text line,那么就错了,当你在浏览器里打开页面的时候,页面是一片空白。

那东西哪去了呢?

?

其实就是“自封闭”的script标签搞得鬼,

?

从以前的HTML到现在的XHTML中W3C的标准都规定script标签不是自封闭的,需要显示的使用</script>标签来封闭。

为什么页面什么都不显示呢?

答案是在<script>标签未读到结束标签</script>的时候,把下面的内容都当作了一块script来处理,但是这样语法又错了,导致什么都显示不出来。

如果你在body上面加一个</script>虽然语法不正确,但是你能发现,内容显示出来了。

现在仍然有很多人使用<script? />来引入js,最好还是改掉这个习惯,使用完整的标签吧。

1 楼 ql213 2012-01-06  
确实是不容易引起注意但是又是导致大问题的一个现象
  相关解决方案