IE8 console未定义

来源:互联网 发布:藏宝阁交易数据异常 编辑:程序博客网 时间:2024/05/01 06:56

写了一个extjs页面,在chrome下调试好好的,在ie8下调试页面打开,进度条没按预期更新。代码如下:

<html xmlns="http://www.w3.org/1999/xhtml"><head>    <title>ExtJs</title><meta charset="GBK"><link href="ExtJs/resources/css/ext-all.css" rel="stylesheet" type="text/css" /><script type="text/javascript" src="ExtJs/ext-base.js"></script><script type="text/javascript" src="ExtJs/ext-all-debug-w-comments.js"></script> </head><body>    <div>    <script type="text/javascript">Ext.MessageBox.show({           title: '倒计时提醒',       <span style="white-space:pre"></span>   msg: '这是一个倒计时',           buttons:{"ok":"知道了"},           animEl: 'mb9',   closable : false,   width : 300,   progress : true,   progressText: '5秒后将xxx',           fn: answerPhone});var timeLeft = 5;        var countDownTask = {run:countDownFunc,interval:1000};        function countDownFunc(){    console.log("fuck" + timeLeft);    if(timeLeft <= 0){    Ext.MessageBox.updateProgress(1, "倒计时结束");Ext.MessageBox.buttons = false;//简单延迟后关闭窗口setTimeout(function(){Ext.MessageBox.hide()}, 500);//终止轮询任务Ext.TaskMgr.stop(countDownTask);answerPhone();}else{    timeLeft--;    Ext.MessageBox.updateProgress((5-timeLeft)/5, timeLeft+'秒之后将xxxx');}}Ext.TaskMgr.start(countDownTask);var answerPhone = function(){   console.log("倒计时后调用的函数。");};    </script>    </div></body></html>


按F12查看控制台信息,发现这么一句"console未定义"。网上查了一下,有两种解决办法


1.注释掉console的语句(好暴力....)

2.但是有时候实在是需要支持console来调试,那么可以加入如下代码

    window.console = window.console || (function(){ var c = {}; c.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profile = c.clear = c.exception = c.trace = c.assert = function(){}; return c;     })();


加入上述片段后,ie8就可以使用console了,修改后的代码

<html xmlns="http://www.w3.org/1999/xhtml"><head>    <title>ExtJs</title><meta charset="GBK"><link href="ExtJs/resources/css/ext-all.css" rel="stylesheet" type="text/css" /><script type="text/javascript" src="ExtJs/ext-base.js"></script><script type="text/javascript" src="ExtJs/ext-all-debug-w-comments.js"></script> </head><body>    <div>    <script type="text/javascript">window.console = window.console || (function(){ var c = {}; c.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profile = c.clear = c.exception = c.trace = c.assert = function(){}; return c;         })();Ext.MessageBox.show({           title: '倒计时提醒',           msg: '这是一个倒计时',           buttons:{"ok":"知道了"},           animEl: 'mb9',   closable : false,   width : 300,   progress : true,   progressText: '5秒后将xxx',           fn: answerPhone});var timeLeft = 5;    var countDownTask = {run:countDownFunc,interval:1000};    function countDownFunc(){    console.log("fuck" + timeLeft);    if(timeLeft <= 0){    Ext.MessageBox.updateProgress(1, "倒计时结束");Ext.MessageBox.buttons = false;//简单延迟后关闭窗口setTimeout(function(){Ext.MessageBox.hide()}, 500);//终止轮询任务Ext.TaskMgr.stop(countDownTask);answerPhone();}else{    timeLeft--;    Ext.MessageBox.updateProgress((5-timeLeft)/5, timeLeft+'秒之后将xxxx');}}Ext.TaskMgr.start(countDownTask);var answerPhone = function(){   console.log("倒计时后调用的函数。");};    </script>    </div></body></html>






0 0
原创粉丝点击