谷歌和火狐浏览器alert()显示乱码,在IE正常显示

谷歌和火狐浏览器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是下图:
图片描述

阅读 4.5k
3 个回答

这不是乱码,这是编码,中文转了之后显示就是那样的。

这是urlencode码过,要urldecode解码

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题