遇到Javascript在IE6下window.location.href 不跳转的问题,及解决办法
没有废话,直接开始代码
页面代码如下:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title id="Title1" runat="server">..</title>
<script type="text/javascript">
function clickT(){
window.location.href='www.g.cn';
}
</script>
</head>
<body>
<input value="click" type="button" onclick="clickT();" />
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title id="Title1" runat="server">..</title>
<script type="text/javascript">
function clickT(){
window.location.href='www.g.cn';
}
</script>
</head>
<body>
<input value="click" type="button" onclick="clickT();" />
</body>
</html>
当我点击按钮时,将会得到这样的结果:
The page cannot be displayed
The page you are looking for is currently unavailable. The Web site might be experiencing technical difficulties, or you may need to adjust your browser settings.
调试了好久,也不知道是什么原因,后来考虑到IE6下会把所有的标签自动都补全地址,于是写上了完整的路径
把
function clickT(){
window.location.href='www.g.cn';
}
修改为
function clickT(){
window.location.href='http://www.g.cn';
}
问题得以解决,最终代码如下:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title id="Title1" runat="server">..</title>
<script type="text/javascript">
function clickT(){
window.location.href='http://www.g.cn';
}
</script>
</head>
<body>
<input value="click" type="button" onclick="clickT();" />
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title id="Title1" runat="server">..</title>
<script type="text/javascript">
function clickT(){
window.location.href='http://www.g.cn';
}
</script>
</head>
<body>
<input value="click" type="button" onclick="clickT();" />
</body>
</html>
总结:IE6下window.location.href值必须写上完整的地址,不能使用相对地址。
补充一个问题:
IE6下用A标签做按钮的解决方案:
1、事件必须return false
<a href="javascript:void(0);" onclick="event();return false;"></a>
2、a标签的href属性设为一个锚点。
<a href="#" onclick="event();"></a>