首先是自己遇到问题:

一套系统,以前的开发asp旧+c#新后台管理扩展.完善后,在2013年前基本无问题,很是畅顺.

其中.到升级了浏览器后.例如ie9以后,则问题出现了.

如图:   这是一个js的计时器,平时正常显示.但这里不行了....没有显示出来.经过测试,在chrome上是可以正常的显示,ie9以上版本,360浏览器均不正常.

分析:

1\首先在chrome上是可以正常的显示,可以判断,逻辑上,应该是么有错的了.所以.我之前费了一大周章去折腾,真不科学!汗.....

2\查看对应的js倒计时文件,搜索一大堆资料.发现思考:判断浏览器是否支持跨域访问。 alert(jQuery.Support.Cors),IE8以下不支持,IE8返回false,google返回true。

所以,为了支持,在对应js 文件头中加入代码: jQuery.support.cors=true ;

特别说明:假如这里 编译运行提示:  jquery.support.cors=true   jquery未定义,则上网下载 jquery-1.10.2.min.js 这个文件库.并把代码<script language="javascript" src="jquery-1.10.2.min.js"></script>  库文件引用放在文件开头,即可解决未定义问题.

在 功能程序 定义前 设置jQuery.Support.Cors = true

在 功能程序 执行完毕之前 让其它button等触发事件暂停等待,可以理解为 "线程阻塞"      这里很重要,使程序正常运行 前提....

3\于是,就查了资料,考虑   IE   浏览跨域问题?决定把系统站点"添加到安全站点"然后在ie安全性上开启两个:

跨域浏览窗口和框架,

通过域访问数据源.

可惜,故障依旧没有解决.

4\查看js的关键代码function MM_findObj(n, d)函数:这是DW自动生成的用来显示和隐藏层的方法。这一段也看得我头大....

function MM_showHideLayers() { //v3.0   var i,p,v,obj,args=MM_showHideLayers.arguments;   for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];     if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }     obj.visibility=v; } }

function MM_findObj(n, d) { //v4.01   var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {     d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}   if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];   for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);   if(!x && d.getElementById) x=d.getElementById(n); return x; }

MM_findObj函数主要作用:取得要复制的对象,并返回 1. if(!d)  d=document;: 首先MM_findObj(n,  d),有两个参数,而在两处用时,一处传了两个参数MM_findObj(n,d.layers[i].document),一处传了一个参数MM_findObj(ob)所以第一个if(!d)  d=document;判断是否传了第二个参数d,如果没传第二个参数d,则!d为true,为d赋值文文件对象document 2.  if((p=n.indexOf("?"))>0&&parent.frames.length) 用indexOf查找函数MM_findObj(n,  d)的第一个参数n中?的位置(找不到?值为-1,找到?值为相应的位置),并赋给变量p,并判断这个位置是否大于0,  parent.frames.length:父框架个数是否大于0 3. if(!(x=d[n])&&d.all)  x=d.all[n]; 为变量x赋值d[n],如果不存在d[n]对象,且d.all存在,则为x赋值d.all[n] 4. for  (i=0;!x&&i<d.forms.length;i++) x=  d.forms[i][n]; d.forms.length:所传参数d对象的窗口个数,循环判断为x赋的值不存在时!x为真,且i<  d.forms.length时,重新为x赋值d.forms[i][n] 5.  for(i=0;!x&&d.layers&&i<d.layers.length;i++)  x=MM_findObj(n,d.layers[i].document); d.layers.length:  所传参数d对象的层个数,循环判断为x赋的值不存在时!x为真,且i<  d.forms.length时,重新为x赋值递归调用自身函数MM_findObj的返回值 6. if(!x &&  document.getElementById) x=  document.getElementById(n); document.getElementById: 所传参数d对象的对象id,  判断为x赋的值不存在时!x为真且所传参数d对象存在对象,则为x赋值document.getElementById(n)

5\好吧,问题来了.....MM_showHideLayers()  也就把这层显示出来.,,我想,问题的所在就是:这个隐藏的层不能显示出来.!!!!!!!!!!

6\找到一篇文章:"一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10",我就借鉴了里面的方法:

在源文件的<head>内加上这句

<meta http-equiv="X-UA-Compatible" content="IE=7">       //这句话的意思是强制使用IE7模式来解析网页代码以解决ie9以上的兼容性问题,ie9后,部分层的显示和交互失效,特此解决

在这里送上几种IE使用模式!

1、强制使用IE7模式来解析网页代码

<meta http-equiv=“X-UA-Compatible” content=“IE=8″>

2. Google Chrome Frame也可以让IE用上Chrome的引擎:

<meta http-equiv=“X-UA-Compatible” content=“chrome=1″ />

3.强制IE8使用IE7模式来解析

<meta http-equiv=“X-UA-Compatible” content=“IE=EmulateIE7″><!– IE7 mode –>

//或者 <meta http-equiv=“X-UA-Compatible” content=“IE=7″><!– IE7 mode –>

4.强制IE8使用IE6或IE5模式来解析

<meta http-equiv=“X-UA-Compatible” content=“IE=6″><!– IE6 mode –>

<meta http-equiv=“X-UA-Compatible” content=“IE=5″><!– IE5 mode –>

5.如果一个特定版本的IE支持所要求的兼容性模式多于一种,如:

<meta http-equiv=“X-UA-Compatible” content=“IE=5; IE=8″ />

好了。最后终于解决了。。。累了2年的时间,这个疑惑,2017--12月前终于解决。

web开发中 代码解决部分IE兼容问题的更多相关文章

  1. web开发中目录路径问题的解决

    web开发当中,目录路径的书写是再常用不过了,一般情况下不会出什么问题,但是有些时候出现了问题却一直感到奇怪,所以这里记录一下,彻底解决web开发中路径的问题,开发分为前端和服务端,那么就从这两个方面 ...

  2. 彻底理解和解决移动WEB开发中CLICK点透问题

    在移动WEB开发中,有时候可能会出现点透问题,本文将围绕这个TAP点透问题,详细的讲述到底什么是点透,为什么会出现点透,如何避免出现点透,如果不可避免的出现了,如何解决解决移动WEB开发中CLICK点 ...

  3. 一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10

    行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10 2012-04-25 16:29:04| 分类: 学习 |字号 订阅 在网站开发中不免因为各种兼容问题苦恼,针对兼容问题,其实IE ...

  4. WEB开发中的字符集和编码

    html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...

  5. [译]如何在Web开发中使用Python

    [译]如何在Web开发中使用Python 原文:HOWTO Use Python in the Web 摘要 这篇文档展示了Python如何融入到web中.它介绍了几种Python结合web服务器的方 ...

  6. 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践

    提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...

  7. Redis在WEB开发中的应用与实践

    Redis在WEB开发中的应用与实践 一.Redis概述: Redis是一个功能强大.性能高效的开源数据结构服务器,Redis最典型的应用是NoSQL.但事实上Redis除了作为NoSQL数据库使用之 ...

  8. 移动Web 开发中的一些前端知识收集汇总

    在开发DeveMobile 与EaseMobile 主题 的时候积累了一些移动Web 开发的前端知识,本着记录总结的目的,特写这篇文章备忘一下. 要说移动Web 开发与传统的PC 端开发,感觉也没什么 ...

  9. Web 开发中 9 个有用的提示和技巧

    在本文中,我们给出 9 个有用的 HTML.CSS 和 JavaScript 的技巧和提示,可能在做 Web 开发中经常会需要用到的,其中有几个是关于 HTML5 和 CSS3 的,如果你是一个前端开 ...

随机推荐

  1. 1.1 Django起步

    1.1 Django起步   1.1.1. Django简介   Django开发框架(简称Django)诞生的时间是2003年的金秋时节,美国有两位程序员Adrian  Holovaty和Simon ...

  2. SKU : Stock Keeping Unit

    Stock Keeping Unit  is a number assigned to a product by a retail store to identify the price, produ ...

  3. Flutter采坑之路 用真机跑起来的时候提示 initGradle失败,IO异常,downloading Gradle-4.6-all.zip失败

    这个异常就是Gradle下载异常,进而下面会提示一行IO异常 我这里的原因就是Gradle对应的4.6-all版本下载不下来(一般情况下确实很难下载下来) 所以在正常AS工程呢,我们选择一下Gradl ...

  4. jmeter简单得压力测试

    Jmeter教程 简单的压力测试 Jmeter是一个非常好用的压力测试工具.  Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好. 阅读目录 什么是压力测试 ...

  5. RabbitMQ安装笔记

    前言 项目中某些场景考虑到高并发情况,调研后决定使用RabbitMQ,本来以为很简单,没想到配置环境花费了好多时间,按照网上的方法来,总是有其他问题需要继续查找,特记录此笔记,方便下次部署安装. 本笔 ...

  6. 浙江省住房和城乡建设厅 http://www.zjjs.com.cn/ 漏洞提示

    http://220.189.211.52/zjjsgbxx/FileAttach/96dcdf11-c45e-4455-a443-f6dea8a44e23.html 可以下载,浏览 改修,

  7. hdu6396(思维+输入挂)

    Swordsman Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others) Total Submission(s): Accept ...

  8. centos7上keepalived的安装和配置

    1.环境规划1)master:node1,centos7.5,eth0:192.168.1.11,eht1:10.10.1.11,keepalive2)backup:node1,centos7.5,e ...

  9. 缓冲区 subprocess 黏包

    一.缓冲区   每个socket被创建以后,都会分配两个缓冲区,输入缓冲区和输出缓冲区,默认大小都为8k,可以通过getsocket()获取,暂时存放传输数据,防止程序在发送数据的时候卡组,提高代码运 ...

  10. Jedis路由key的算法剥离

    在Redis集群中,会有很多个分片,如果此时利用Jedis来操作此Redis集群,那么他会把数据路由到不到的分片上.而且如果动态的往集群中增加分片,也不会影响Jedis的功能.究竟是怎么做到的呢? 由 ...