当前位置: 代码迷 >> Ajax >> 恨死了不兼容
  详细解决方案

恨死了不兼容

热度:395   发布时间:2012-02-16 21:30:36.0
恨死了不兼容 - Web 开发 / Ajax
搞了一天,也没把下面的问题搞兼容,在IE下,setInterval ajax可用,在谷歌和FF下都不起作用,用了无数方法,还是没有作用,不知道是我代码写得有误还是怎么的,知道的看一下
HTML code

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="exam_now.aspx.cs" Inherits="Maj.WebSite.exam_now" %>
<!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 runat="server">
    <title></title>
    <link href="skins/exampaper.css" rel="stylesheet" type="text/css" />
    <script src="/include/js/jquery-1.7.1.min.js" type="text/javascript"></script>
    <script src="/include/js/tab.js" type="text/javascript"></script>
    <script src="/include/js/jquery.cookie.js" type="text/javascript"></script>
    <script language="javascript" type="text/javascript">
        var id = <%#cntId %>;
        var tim=null;

         var xmlHttpequest=null;
         function finishExam()
         { 
            clearInterval(tim);
            var exam1 = "";
            var exam2 = "";
            var exam3 = "";
            var result = "";
            $(".paper1 .examvalue").each(function () {
                var sign = $(this).attr("rel");
                var tmp = "";
                $("#ansower_" + sign + " input[type='radio']").each(function () {
                    if ($(this).attr("checked")) tmp = $(this).val();  //if ($(this).attr("checked")) tmp += "-" + $(this).val();
                });
                exam1 += tmp + "|";
            });
            $(".paper2 .examvalue").each(function () {
                var tmp = ""; // $(this).attr("rel") + "-";
                $("#ansower_" + $(this).attr("rel") + " input[type='checkbox']").each(function () {
                    if ($(this).attr("checked")) tmp += $(this).val() + ",";
                });
                tmp = tmp.substr(0, tmp.length - 1) + "|";
                exam2 += tmp;
            });
            $(".paper3 textarea").each(function () {
                exam3 += $(this).val() + "|";
            });
            result = exam1 + exam2 + exam3;
            result = result.substr(0, result.length - 1);
            $.get("/tools/check_exam.aspx", { cntid:<%#cntId %>, logid:<%#logId %>, data: result, r: Math.random() },
                function(data)
                {
                   var txt=data.toString().split("|");
                   p1.innerHTML=txt[0];
                   p2.innerHTML=txt[1];
                   p3.innerHTML=txt[2];
                 });
              //$.cookie("exam", exam1 + exam2);
            AdLayer1.innerHTML="<strong>正在改您的卷子!</strong>";
            AdLayer1.innerHTML="<strong>成功是从错题开始<br>请认真查看错题</strong><br><br><a href=\"exam_complete.aspx?id=" + <%#cntId %> + "&logid=" + <%#logId %> + "\">查看排名</a>";
         }
        
        /*
        function ieajx ()
        {
            if(window.XMLHttpRequest)
            {
               xmlHttpequest=new XMLHttpRequest();
            }
            else if(window.ActiveXObject)
            {
               xmlHttpequest=new XMLHttpRequest("MSXML2.XMLHTTP");
            }
            if(xmlHttpequest)
            {
               xmlHttpequest.onreadystatechange=getTxt;
               var sendtext="cntid="+<%#cntId %>+"&logid="+<%#logId %>+"&data="+result+"&r="+Math.random();
               xmlHttpequest.open("POST","/tools/check_exam.aspx",true);
               xmlHttpequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");  
               xmlHttpequest.send(sendtext);
            }
        }
        function getTxt ()
        {
               if(xmlHttpequest&&xmlHttpequest.readyState==4)
               {
                  if(xmlHttpequest.status==200)
                  {
                     AdLayer1.innerHTML="<strong>成功是从错题开始<br>请认真查看错题</strong><br><br><a href=\"exam_complete.aspx?id=" + <%#cntId %> + "&logid=" + <%#logId %> + "\">查看排名</a>";
                     var data=xmlHttpequest.responseText;
                     var txt=data.split("|");
                     p1.innerHTML=txt[0];
                     p2.innerHTML=txt[1];
                     p3.innerHTML=txt[2];                    
                   }
                }
         }*/
        
        var maxtime = <%#paperInfo.Minutes %> * 60 //一个小时,按秒计算,自己调整!
        window.onload=function (){  
                                  tim=self.setInterval("CountDown()", 1000)
                                   }
         function CountDown() 
         {
            if (maxtime >= 0) 
            {
                var minutes = Math.floor(maxtime / 60);
                var seconds = Math.floor(maxtime % 60);
                var msg = "剩余" + minutes + "分";
                if(seconds < 10)
                {
                   msg += "0";
                }
                 msg+= seconds + "秒";
                 document.getElementById("timer").innerHTML=msg;
                 if (maxtime == 5 * 60)
                 {
                   alert('注意,还有5分钟!');
                 }
                 --maxtime;
             }
            else 
            {
                clearInterval(tim);
                finishExam();
            }         
         }
       
       
        function document.oncontextmenu()
        {
            event.returnValue=false;
        }
        //屏蔽鼠标右键
        function KeyDown()
        {
            if ((window.event.altKey) && ((window.event.keyCode == 37) || (window.event.keyCode == 39)))
             {
                event.returnValue = false;
             }
            if ((event.keyCode == 8) || (event.keyCode == 116))
             { 
                //屏蔽 F5刷新键
                event.keyCode = 0;
                event.returnValue = false;
             }

            if ((event.ctrlKey) && (event.keyCode == 78)) 
            {
                //屏蔽Ctrl+n
                event.returnValue = false;
            }
            if ((event.shiftKey) && (event.keyCode == 121))
             { 
                //屏蔽shift+F10
                event.returnValue = false;
             }
         }
    </script>
</head>
<body onkeydown="KeyDown()" onbeforeunload="" oncontextmenu="event.returnValue=false">
    <form id="form1" runat="server">
    <div id="header">
       <div class="left logo">
         <img src="/images/kszx.gif" />
       </div>
       <div class="right userInfo">
          欢迎您,<%#username %> 帐户余额:<%#oluserinfo.UserMoney %>E币 <a href="#">充值</a> <a href="#">收藏本站</a>
       </div>
    </div>
    <div id="paper">
        <div class="ksxx">考试时间:<%#paperInfo.Minutes %> 分钟     考生:<%#username %>    总分 :<%#paperInfo.Total %> 分</div>
        <h2 class="kstit"><%#paperInfo.Title %></h2>
        <div id="paperTab"><span id="paper1">单选题</span><span id="paper2">多选题</span><span id="paper3">问答题</span></div>
        <div class="paperTabCnt">
           <div class="paper1" id="p1">
              <h2 class="ptit">一、单项选择题(共<%#iei.Count%>题,四个备选答案中,有一个最符合题意)</h2>
              <%#exam1.ToString() %>
           </div>
           <div class="paper2" id="p2">
              <h2 class="ptit">二、多项选择题(共<%#multi.Count%>题,五个备选答案中,有2-4个符合题意,少选,选对一个0.5分,选错得0分)</h2>
              <%#exam2.ToString() %>
           </div>
           <div class="paper3" id="p3">
              <h2 class="ptit">三、问答题(共<%#qa.Count %>题,不计分,提交后自行对照参考答案)</h2>
              <%#exam3.ToString()%>
           </div>
        </div>
        <script language="javascript" type="text/javascript">
             setClickTab("#paperTab", ".paperTabCnt")
        </script>
    </div>
    <div id="AdLayer1" class="Timer">
        <strong>答题剩余时间</strong>
        <div id="timer"><%#paperInfo.Minutes %></div>
        <div><input type="button" onclick="finishExam()" value="交卷" /></div>
    </div>
    <script src="/include/js/float.js" type="text/javascript"></script>
    </form>
</body>
</html>


 
  相关解决方案