菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
99
0

【实战问题】【10】IE浏览器兼容问题,发布后变成了(浏览器IE9兼容模式,文档IE7标准模式)

原创
05/13 14:22
阅读数 90260

起因:

        近期发生一件特别无语的事,我写的程序在本地运行的时候在IE浏览器打开是IE9标准模式,发布到服务器之后再在IE浏览器打开,就变成了兼容模式,一步步改好之后在图片上传那里又卡了好久,最后都改好了之后,发现了问题所在,我的问题可能不适用于所有情况,仅给大家参考一下

我的问题很简单:我用了lantern翻墙,关了就好了

 

过程:

1,所有和ajax这种格式的一样的,最后一项(此处为success)都不要加逗号(,)。

$.ajax({
    type : "POST",
    url : "address" ,
    success : function(result){
        alert("成功");
    }
});    

 

2,get方式(即请求数据)时,IE浏览器会记住缓存

解决方案一:如果是上面那种ajax加上cache: false,

解决方案二:加时间戳

var timeStamp = (new Date()).valueOf();

$.get("address" + page + "?t=" + timeStamp, function(data) { });

 

3,关于IE的兼容性模式和标准模式

我个人的理解是,浏览器模式影响的是java代码,文档模式影响的是js,css代码。以及,所谓的IE9兼容模式就是IE7内核

(1)终于找到IE10 Browser Mode为IE10 compat View的真相 - dudu - 博客园 http://www.cnblogs.com/dudu/archive/2012/11/24/ie10-browser-mode.html

(2)IE9的浏览器模式和文档模式 - 坚持139 - 博客园  http://www.cnblogs.com/zhoukaiwei/archive/2013/05/21/3090587.html

 

4,浏览器模式直接用程序是改不了的(也许是我没找到),文档模式是可以改的

改文档模式:

<meta http-equiv="X-UA-Compatible" content="IE=edge"/>

(1)强制不使用“兼容性视图”的HTML代码 - hsany330的专栏 - 博客频道 - CSDN.NET  http://blog.csdn.net/hsany330/article/details/40716911

(2)再谈IE的浏览器模式和文档模式 - BobLiu - 博客园  http://www.cnblogs.com/liuzhendong/archive/2012/04/27/2474363.html

 

5,在IE9兼容模式下,上传会提示是否下载。

解决方案如下:

首先,我用的是ajaxfileupload.js插件(事实证明这个插件真不咋地)

其次,在spring的配置文件里这样配置

     <mvc:annotation-driven ignore-default-model-on-redirect="true" >
        <mvc:message-converters register-defaults="false">
            <bean
                class="org.springframework.http.converter.ByteArrayHttpMessageConverter" />
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <property name="supportedMediaTypes" value="text/plain;charset=UTF-8" />
            </bean>
            <bean
                class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                <property name="supportedMediaTypes" value="application/json;charset=UTF-8" />
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>   

(1)Spring mvc 返回JSON 在IE 下提示下载 解决办法 - 大道自然 - BlogJava http://www.blogjava.net/iamlibo/archive/2013/11/21/406646.html

(2)spring MVC 3.1 注解:@ResponseBody 返回json数据 - - ITeye技术网站  http://yjflfliulei.iteye.com/blog/1755134

 

6,360浏览器的内核

我还没有用到,先放到这里记录下:

content的取值为webkit,ie-comp,ie-stand之一,区分大小写,分别代表用webkit内核,IE兼容内核,IE标准内核。 

若页面需默认用极速核,增加标签:<meta name="renderer" content="webkit"> 

若页面需默认用ie兼容内核,增加标签:<meta name="renderer" content="ie-comp"> 

若页面需默认用ie标准内核,增加标签:<meta name="renderer" content="ie-stand">

(1)浏览器内核控制meta name="renderer" 说明文档  http://m.blog.csdn.net/article/details?id=51531263

 

7,我还不太理解,也没用到,先存个档

(1)强制IE浏览器或WebBrowser控件使用指定版本显示网页
http://blog.useasp.net/archive/2013/05/30/force-ie8-or-higher-or-webBrowser-control-use-specific-version-to-display-pages.aspx

发表评论

0/200
99 点赞
0 评论
收藏
为你推荐 换一批