internet explorer 11(IE11) 在f12 打开调试工具才能正常执行js代码的解决方案

原创 wintop  2022-09-10 23:35:46  阅读 2252 次 评论 0 条
摘要:

遇到问题

在internet explorer 11(IE11) 下写了一个自动刷新页面请求的代码。

环境是 win2008+ie11+ jquery 3.2.1

代码在 chrome 下的浏览器正常。唯独ie11下不能自动刷新。但是可以在调试模式(F12)下正常运行。

处理过程

百度下找了几个解决方案

    文章目录
    1. 遇到问题
    2. 处理过程
    3. 解决方案

    遇到问题

    在internet explorer 11(IE11) 下写了一个自动刷新页面请求的代码。

    环境是 win2008+ie11+ jquery 3.2.1

    代码在 chrome 下的浏览器正常。唯独ie11下不能自动刷新。但是可以在调试模式(F12)下正常运行。

    处理过程

    百度下找了几个解决方案

    1. 检查javascript 函数是否和 html 中一些方法重名,如果有改正。

    2. ie 7,8,9 貌似不支持 console.log。我的环境是ie11,我也删除了 所有的console.log 问题依旧

    3. JQuery get/getjsON方法引起的IE兼容问题。在前端调用ajax方法中的get/getJSON方法时,ie浏览器会自动设置缓存,从而导致第二次访问时,ie默认查找缓存,从而不会向服务器请求数据。

    我遇到的问题正好是第三条。

    解决方案

    1. 添加可变参数 ,添加时间戳或随机数,类似参数中添加t=Math.random();

    2. 使用其他ajax方法,如果不是必要使用get或getJSON,可以使用post方法替换。

    3. 设置 .ajax 缓存  $.ajaxSetup({ cache: false }); 

    1.代码:

    	$.get("id2.php?t="+Math.random(), function(data,status){

    直接加了随机数。问题解决

    3.代码:

     $.ajaxSetup({ cache: false });

    至此,曾经困扰我几年的问题终于解决了!

    本文地址:http://zuoweng.com/post/169.html
    版权声明:本文为原创文章,版权归 wintop 所有,欢迎分享本文,转载请保留出处!

    发表评论


    表情

    还没有留言,还不快点抢沙发?