script标签

Posted 来陪朕侍寝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了script标签相关的知识,希望对你有一定的参考价值。

<script />的写法

 刚刚跟着demo学习的过程中遇到了一个问题:

<script type="text/javascript" src="jquery-1.1.3.pack.js" />  这样的写法貌似是不能执行的。

<script type="text/javascript" src="jquery-1.1.3.pack.js" > </script> 只能这样结束。

一直不知道什么原因 一点点排除才发现的。

去百度了一下:

比如<script>标签,当前部分浏览器就不支持<script />这种在开始标签中直接关闭的写法。

我们很容易会认为,引用外部脚本文件的<script>没有内容,那是否可以直接在开始标签中关闭<script>,写成下面这样呢? <script type="text/javascript" src="xxx.js" /> 实测结果告诉我们,这样做是有问题的。

某些浏览器不认这种写法,它们会将紧接在<script />标签后面的内容都当作脚本内容来处理,直到遇见下一个</script>关闭标签。

避免这个问题也很简单: 对于<script>标签,永远都使用单独的关闭标签</script>,这样所有浏览器都能够按照预期的效果来解析:

<script type="text/javascript" src="xxx.js"></script>

具有类似问题的标签还有一些,比如<iframe>。解决办法同上。

进一步说,想要彻底解决这一类问题的话,请将所有标签的开始和结束都分开写吧: <img src="xxx"></img> <hr></hr>

顺带一提,这样还能解决另一个问题:

在开始标签中关闭的话,斜杠前必须留有空格——很多时候人们会很容易漏掉这个空格,据说这样某些浏览器的解析也会出问题。

既然我所有的开始结束标签都分开写了,那这个问题不是自然就没有了么?

这么做太极端?那就只记住这几个特例吧:首先就是<script>和<iframe>。

目前看来,WinXP SP3下IE6/7/8和FF3都有这个问题的,Opera10/Chrome5/Safari5则没有。

不过另一个<iframe>标签同样的问题,上面这些浏览器则好像无一幸免了。

以上是关于script标签的主要内容,如果未能解决你的问题,请参考以下文章

JS 怎样获取 script标签中的内容

前端之script标签注意事项

javascript 函数在函数所在的script标签下为啥不能被调用

JavaScript 02 script标签

窥探 Script 标签(步入现代 Web 开发的魔法世界)

为啥 外链javascript脚本,不能含有script标签