昨天做项目时遇到一个问题,我在页面上定义的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"