IE8|IE8 的兼容性问题总结
在IE8中,下面的代码报错:
Js代码
文章图片
- $('#invoiceListDot').text(htmlTemplate);
文章图片
说明:invoiceListDot 是一个script标签
Html代码
文章图片
- {{? it.invoiceInfoDtos}}
- {{ for(var prop=0; prop
- ; prop++){ }}
- {{? it.invoiceInfoDtos[prop]}}
- data-index="{{= prop }}">
- 普通发票
- {{= it.invoiceInfoDtos[prop].content }}
- {{= it.invoiceInfoDtos[prop].title }}
- {{= it.invoiceInfoDtos[prop].address }}
- {{= it.invoiceInfoDtos[prop].receiver }}
- {{= it.invoiceInfoDtos[prop].phone }}
- {{?}}
- {{ } }}
- {{?}}
Js代码
文章图片
- $('#invoiceListDot').html(htmlTemplate);
这是IE8的兼容性问题.
解决方法:
在js中判断浏览器类型,若是IE8,则执行
Js代码
文章图片
- $('#invoiceListDot').innerHTML = htmlTemplate;
Js代码
文章图片
- if (getBrowserVersion.isIE8) {
- $('#invoiceListDot').innerHTML = htmlTemplate;
- } else {
- $('#invoiceListDot').text(htmlTemplate);
- }
文章图片
获取script标签的内容的时候:
文章图片
Js代码
文章图片
- var tmplate = $invoiceListDot.text(); //IE8中返回空字符串
- if (!tmplate) {
- console.log('$invoiceListDot.text() return null');
- tmplate = $invoiceListDot.html();
- }
new Date('2015-08-05 23:12:20')
在chrome中,下面的语法是正确的:
文章图片
但是在IE8中不支持,所以增加了判断:
Js代码
文章图片
- if (typeofwindow.willEndTime == 'string') {//IE中
- productInfo2.willEndTime = window.willEndTime;
- } else {
- productInfo2.willEndTime = new Date(window.willEndTime).format("yyyy-MM-dd");
- }
那么如何判断浏览器是IE8呢?
Js代码
文章图片
- /***
- * get browser type and browser version and language
- when page open,the function will be executed automaticly
- * @param write22
- * @returns {{systemLanguage,userLanguage,ver}}
- */
- getBrowserVersion = (function (write22) {
- var browser = {};
- //console.dir(navigator);
- var userAgent = navigator.userAgent.toLowerCase();
- /*for(osvId in navigator){
- var value222=navigator[osvId];
- document.writeln(osvId+":
"+value222+'
'); - }*/
- var lang22 = navigator.language;
- //document.writeln(userAgent+'
'); - //document.writeln(navigator.appCodeName+'
'); - var s;
- (s = userAgent.match(/msie ([\d.]+)/)) ? browser.ie = s[1] : (s = userAgent.match(/firefox\/([\d.]+)/)) ? browser.firefox = s[1] : (s = userAgent.match(/chrome\/([\d.]+)/)) ? browser.chrome = s[1] :
- (s = userAgent.match(/opera.([\d.]+)/)) ? browser.opera = s[1] : (s = userAgent.match(/version\/([\d.]+).*safari/)) ? browser.safari = s[1] : 0;
- var version = "";
- if (browser.ie) {
- version = browser.ie;
- if (write22 && write22 != false && write22 != 'false') {
- document.writeln('IE
'); - }
- if (!browser.lang || browser.lang == undefined) {
- lang22 = navigator.browserLanguage;
- browser.systemLanguage = navigator.systemLanguage;
- browser.userLanguage = navigator.userLanguage;
- }
- }
- else if (browser.firefox) {
- version = browser.firefox;
- browser.mozilla = browser.firefox;
- if (write22 && write22 != false && write22 != 'false') {
- document.writeln('firefox
'); - }
- }
- else if (browser.chrome) {
- version = browser.chrome;
- if (write22 && write22 != false && write22 != 'false') {
- document.writeln('chrome
'); - }
- }
- else if (browser.opera) {
- version = browser.opera;
- if (write22 && write22 != false && write22 != 'false') {
- document.writeln('opera
'); - }
- }
- else if (browser.safari) {
- version = browser.safari;
- if (write22 && write22 != false && write22 != 'false') {
- document.writeln('Safari
'); - }
- }
- else {
- version = 'unknown browser';
- }
- browser.ver = version;
- if (lang22 && lang22 != undefined) {
- browser.lang = lang22.toLowerCase();
- }
- browser.isIE8 = (browser.ie && (version === '8.0' || version === '8'));
- return browser;
- })();
使用方法:
Js代码
文章图片
- f (getBrowserVersion.isIE8) {
- $('#invoiceListDot').innerHTML = htmlTemplate;
- } else {
- $('#invoiceListDot').text(htmlTemplate);
- }
Ie识别不了有空格的json
比如
{
"path":"huang wei"
}
IE7中动态创建表格时,必须要创建tbody,否则表格不显示
Js代码
文章图片
- var tb = put('table.service');
- if (BrowserVersion.isIE7 || BrowserVersion.isIE6) {
- tb=put(tb,'tbody');
- }
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量