onclick函数在ie下失效

来源:互联网 发布:天猫店铺数据分析 编辑:程序博客网 时间:2024/06/11 04:48
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="application/javascript">
function abc() { alert(123); }
</script>
</head>
<body>
        <a href="javascript:void(0)" onclick="abc();">方式一</a>
</body>
</html>
这段最简单的代码在其它浏览器可以运行在ie下居然失效了?
后来尝试了下将abc()函数的直接写在onclick中 <a href="javascript:void(0)" onclick="alert(123);">方式二</a> 居然有可以执行
也就是说不是onclick失效,那是为什么呢?
后来网上查到原来是这样的:
传统的javascript程序的MIME类型是“text/javascript”,其他使用的还有"application/x-javascript"(x前缀表示这是实验性的,不是标准的类型),RFC4329规定了“text/javascript”类型,因为它普遍被使用。然而,javascript程序并不是真正的文本文件,这就表示这个类型已经意味着过时了,而推荐使用"application/javascript"(去除x前缀)。然而,在写程序的时候,"application/javascript"没有很好的支持。这也行就是"application/x-javascript"被使用在很多网页中的原因。

 原因出来了,浏览器的差异,互联网的各种标准导致了不统一。

把    type="application/javascript" 改为  type="text/javascript"  就可以正常使用了

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="application/javascript">
function abc() { alert(123); }
</script>
</head>
<body>
        <a href="javascript:void(0)" onclick="abc();">方式一</a>
 <a href="javascript:void(0)" onclick="alert(123);">方式二</a> 
</body>
</html>

原创粉丝点击