起因:
近期發生一件特別無語的事,我寫的程序在本地運行的時候在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的兼容性模式和標準模式
一,終於找到IE10 Browser Mode爲IE10 compat View的真相 - dudu - 博客園
http://www.cnblogs.com/dudu/archive/2012/11/24/ie10-browser-mode.html
二,IE9的瀏覽器模式和文檔模式 - 堅持139 - 博客園
http://www.cnblogs.com/zhoukaiwei/archive/2013/05/21/3090587.html
我個人的理解是,瀏覽器模式影響的是java代碼,文檔模式影響的是js,css代碼。以及,所謂的IE9兼容模式就是IE7內核
4,瀏覽器模式直接用程序是改不了的(也許是我沒找到),文檔模式是可以改的,下面這句就是用來改文檔模式的:
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
一,強制不使用“兼容性視圖”的HTML代碼 - hsany330的專欄 - 博客頻道 - CSDN.NET http://blog.csdn.net/hsany330/article/details/40716911
二,再談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>
一,Spring mvc 返回JSON 在IE 下提示下載 解決辦法 - 大道自然 - BlogJava
http://www.blogjava.net/iamlibo/archive/2013/11/21/406646.html
二,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">
一,瀏覽器內核控制meta name="renderer" 說明文檔
http://m.blog.csdn.net/article/details?id=51531263
7,我還不太理解,也沒用到,先存個檔
一,強制IE瀏覽器或WebBrowser控件使用指定版本顯示網頁
http://blog.useasp.net/archive/2013/05/30/force-ie8-or-higher-or-webBrowser-control-use-specific-version-to-display-pages.aspx