解决jQuery在IE7和8下setInterval失效的问题

来源:互联网 发布:淘宝平铺图拍摄 编辑:程序博客网 时间:2024/05/21 21:02

本机测试没问题,但其它机器用IE7或IE8打开,setInterval执行无效,不会自动刷新页面

$(function () {
               orderno = $('#txtOID').val();
               amount = $('#txtAmount').val();
               
               start = self.setInterval("checkstatus(orderno,amount)", 1000);
           });


 function checkstatus(order_no, amount) {
                txtMsg = $('#txtMsg').val();
                if (order_no == undefined || order_no == '' || (txtMsg != undefined && txtMsg != '')) {
                   window.clearInterval(start);
               }
               else {
                   var url = "ASHX/Handler.ashx?type=OrderQuery&order_no=" + encodeURIComponent(order_no)
                   send_request("GET", url, null, "text", OrderQuery);
                }
           }


 function OrderQuery() {
             
            }

经查发现是IE的缓存造成load函数的问题,var url = "ASHX/Handler.ashx?type=OrderQuery&order_no=" + encodeURIComponent(order_no) 后增加随机数


改为

 function checkstatus(order_no, amount) {
                txtMsg = $('#txtMsg').val();
                if (order_no == undefined || order_no == '' || (txtMsg != undefined && txtMsg != '')) {
                   window.clearInterval(start);
               }
               else {
                   var url = "ASHX/Handler.ashx?type=OrderQuery&order_no=" + encodeURIComponent(order_no) + "&rnd="+Math.ceil(Math.random()*1000);
                   send_request("GET", url, null, "text", OrderQuery);
                }
           }

问题解决

0 0