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

遇到问题

在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 });

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

相关阅读

添加新评论