A Coder

Coding My Dream!

0%

text/javascript与application/javascript的区别

昨天做项目时遇到一个问题,我在页面上定义的js方法,方法定义如下

<script type="application/javascript">
    function callback(data){
       alert(data);
    }
</script>

然后在这个页面引入的js中调用此方法

callback("haha");

问题是在IE9及chrome 等高级浏览器下都能正常的工作,但是在IE8及以下浏览器下都提示未定义callback这个方法。折腾的好久,最后请教了同事,他说把type="application/javascript" 改成 type="text/javascript" 试试。结果还真的可以了……

好吧,百度了一下为什么,得到的原因大致如下:
type="text/javascript" 是比较过时的写法,IETF 推荐的是 type="application/javascript",而比较古老的浏览器不认type="application/javascript",从而导致js不生效。
如果为了更好的兼容低端浏览器推荐使用type="text/javascript"