<html>
<head>
<title>a_test.html</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript">
function doClick(){
self.location.href="MyHtml.html";
}
</script>
</head>
<body>
<a href="javascript:void(0);" onclick="doClick();">请点击我</a>
</body>
</html>
这段代码在IE8下没有问题,可以正确跳转到MyHtml.html页面,但是在IE6下面失效了。
网上查了很久,没有找到微软的权威说明,但是这个类似:http://support.microsoft.com/kb/190244/en-us
问题发现了,解决方法有两种:
1. 推荐做法:在onclick执行过程中加return;
<html>
<head>
<title>a_test.html</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript">
function doClick(){
self.location.href="MyHtml.html";
}
</script>
</head>
<body>
<a href="javascript:void(0);" onclick="doClick();return false;">请点击我</a>
</body>
</html>
2. 使用‘#’替代'javascript:void(0);',但是‘#’会让页面跳转到top,如果页面有较长会导致用户体验差。
<html>
<head>
<title>a_test.html</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript">
function doClick(){
self.location.href="MyHtml.html";
}
</script>
</head>
<body>
<a href="#" onclick="doClick();">请点击我</a>
</body>
</html>