谷歌和火狐浏览器alert()显示乱码,在IE正常显示。
浏览器的字符编码改成utf-8还是乱码。
求问这个是怎么回事,要怎么解决?
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Load Event Example</title>
<!-- <script type="text/javascript" src="EventUtil.js"></script>-->
</head>
<body>
<script type="text/javascript">
var EventUtil = {
addHandler: function(element, type, handler){
if (element.addEventListener){
element.addEventListener(type, handler, false);//DOM2级
} else if (element.attachEvent){
element.attachEvent("on" + type, handler);//IE8及以下
} else {
element["on" + type] = handler;//DOM0级
}
},
//返回对event对象的引用
getEvent: function(event){
return event ? event : window.event;
},
//返回事件的目标
getTarget: function(event){
return event.target || event.srcElement;
}
};
EventUtil.addHandler(window, "load", function(){
var image = document.createElement("img");
EventUtil.addHandler(image, "load", function(event){
event = EventUtil.getEvent(event);
alert(EventUtil.getTarget(event).src);
});
document.body.appendChild(image);
image.src = "smile.gif";
});
</script>
</body>
</html>
在谷歌和火狐都是下图:
在IE是下图:
decodeURI
参考:链接