前一篇不知道怎么被博客园给删了,重新补发一个. 最近在项目中发现一个很诡异的问题,通过js获取cookie时,发现赋给用户name的时候IE9和低于9以下的浏览器对比时获取到的名字不一样,通过调试发现是split方法在解析||时当值为空时就会出现被“吃掉”的问题. 当我们在开发的过程想要对特定的字符进行分割,首相想到的就是使用split函数,这样是一个效率非常高的方法.但是让人叹息的是该方法虽然可以在Chrome和Firefox正常运作,但是在低版本IE浏览器却无法正常工作,IE9及以上版本都没…
以前,一直都以为ie9以下的版本不支持opacity属性.所以就同时使用 opacity和ie独特的filter蒙版.但是有些时候需要一些动态的效果,就比如层的渐渐消失,隐藏,就需要使用动态变化的opacity,这种情况下,同时使用opacity和filter就显的有点麻烦了. 其实,只使用opacity+jquery就完全解决这个问题. 用法如下: <script type="text/javascript"> $(function () { $("#p1&qu…
模拟实现兼容低版本IE浏览器的原生bind()函数功能: 代码如下: if(!Function.prototype.bind){   Function.prototype.bind=function(oThis){     if (typeof this !== 'function'){       throw new TypeError('调用者不是当前函数对象');     }        var aArgs = Array.prototype.slice.call(arguments,…
现代的浏览器都支持HTML5,HTML5定义了 8 个新的 HTML 语义元素.所有这些元素都是 块级 元素. 为了能让旧版本的浏览器正确显示这些元素,你可以设置 CSS 的 display 属性值为 block: header, section, footer, aside, nav, main, article, figure { display: block; } 然而低版本IE浏览器并不支持这些HTML5元素,如: <style> header{ display: block; bac…
看某教程,说让HTML5的这些语义标签能够兼容低版本的浏览器,原文是“你可以设置css的display属性为block”.很好理解,就设置css样式为block嘛,那就直接设置咯: header, section, footer, aside, nav, main, article, figure { display: block; } <body> <header>header元素</header> <section>section元素</secti…
都说是IE10之上的浏览器才有这个问题,恰巧我IE10之上都没有问题,反而是低版本的浏览器出现了这个问题.作为一个凭证,我先放一张图片在这里面. 之前无意中解决过这个问题,如今复现确实是没有解决,网上的方案都用过了,也无效. 在别人那测试没有问题,但是具体这个问题为何会存在[目前个人能力问题,只能把问题归咎与浏览器出错了!!!(一个不负责的web前端)]…
CSS中盒子模型的组成由内容区(content).内边距(padding).边框(border).外边距(margin)组成.内边距可细分为 padding-top.padding-right.padding-bottom.padding-left:边框可细分为 border-top.border-right.border-bottom.border-left:外边距可细分为 margin-top.margin-right.margin-bottom.margin-left. 对于盒子模型,W3…
Android 版本更替,新的版本带来新的特性,新的方法. 新的方法带来许多便利,但无法在低版本系统上运行,如果兼容性处理不恰当,APP在低版本系统上,运行时将会crash. 本文以一个具体的例子说明如何在使用高API level的方法时处理好兼容性问题. 例子:根据给出路径,获取此路径所在分区的总空间大小. 在安卓中的文件存储使用参考中提到: 获取文件系统用量情况,在API level 9及其以上的系统,可直接调用File对象的相关方法,以下需自行计算 一般实现 就此需求而言,API leve…
上一篇文章讲到了javascript原生的bind方法: http://www.cnblogs.com/liulangmao/p/3451669.html 这篇文章就在理解了原生bind方法的原理以后,自己写一个原型bind方法,来兼容ie低版本浏览器: bind方法一共做了三件事: 1.改变方法中的上下文 2.为方法传入实参 3.返回一个改变了上下文并且调用的时候传入指定的实参的新方法 因此,我们就照着这个思路,写一个Function的原型方法: if(!Function.prototype.…
最近在客户那里,发现一个奇葩的问题,系统上IE浏览器访问网站一片空白,显示无法访问. 但是相同的网站系统,在我们的电脑上又可以访问且IE浏览器版本相同,没法只有,装虚拟模拟客户环境复现一下了. 发现在客户的系统上确实无法访问,于是又装了一个低版本的谷歌浏览器,发现可以访问, 排查到是该IE版本+系统导致的问题,怎么办呢? 用wireshark抓包看一下吧 发现在用IE浏览器访问的时候,https通信失败tls协商失败 一经查询,发现是SSL加密套件配置的问题,导致不支持该系统+该版本浏览器,汗~…
前言: 近期工作中,突然被要求改别人的代码,其中有一项就是兼容IE低版本浏览器,所以优雅降级吧. 我相信兼容低版本IE是许多前端开发的噩梦,尤其是改别人写的代码,更是痛不欲生. 本文将介绍一些本人兼容时的一些心得体会,以及踩到的一些坑. 汇总: 1.IE浏览器不兼容webp格式: 项目中有些图片是用webp格式存储的,IE浏览器完全不兼容. 我们要用各种图像处理软件改成jpg或者png格式的. 2.IE浏览器对Flex不友好: 如下图,IE10以下版本对flex不兼容.因项目中大量用了flex布…
VS2015在调用低版本lib库出现有时会出现“无法解析的外部符号 __snprintf ”的问题,解决方法是加入lib库“legacy_stdio_definitions.lib”到工程.…
错误提示信息:Unsupported major.minor version 52.0,意思是说,当前jdk的版本不支持更高版本jdk编译出来的class文件. 我的编译环境,eclipse使用的是jdk1.8,而Linux上的是jdk1.7,jdk1.7.0版本号为48,jdk1.8.0版本号是52,因此会产生上述问题. 经过解决后,重新打成war包发布就可以了 解决方法有二: 1.只需要把Linux上的jdk升级到jdk1.8,就可以执行. 2.更改如下地方也可以解决windows->Pre…
<script language="javascript" type="text/javascript"> //隐藏广告 function closeDiv(){ document.getElementById("floatDiv").style.display="none"; } </script> <body> <!--position:fixed能够使得广告div实现滚动效果,但…
做这个功能的时候在网上查了一些资料,代码如下,在这个代码在谷歌浏览器46版本是没问题的,在火狐浏览器也行,但是在谷歌浏览器高版本下是不兼容的 <div id="body"> <section class="featured"> <div class="content-wrapper"> <hgroup class="title"> <h1>Welcome to web…
background:url("http://..../xxx.jpg") no-repeat center/cover; 这种复合形式在有些低端安卓浏览器中不支持,最好分开写: background-image:url("http://..../xxx.jpg"); background-repeat:no-repeat; background-position:center; background-size:cover;…
 if (!Array.prototype.find) {  Array.prototype.find = function(predicate) {    'use strict';    if (this == null) {      throw new TypeError('Array.prototype.find called on null or undefined');    }    if (typeof predicate !== 'function') {      thro…
Function.prototype.bind= function(obj){ var _self = this, args = arguments; return function() { _self.apply(obj, Array.prototype.slice.call(args, 1)); } }…
Object.prototype.create=(function(){ if(Object.prototype.create){return Object.prototype.create}else{var F=function(){};return function(proto){F.prototype=proto;return new F();}} })()  …
因为html5 新出的一些语义化的标签,在低版本浏览器下不能识别,举个例子,比如你写了一个 header 标签中,写了一段文本,在低版本浏览器下,肯定是能看到的,但是,那是他是不认识 header标签的,只是展示的内容而已,如果你给header添加一个样式,肯定是不可以的,我们要解决的就是让低版本的浏览器认识并解析我们的html5标签. 别人的解决方法,我copy过来了,是自己经过测试的. 第一种方法: <!--[if lt IE 9]> <script src="http:/…
现在我们可以选择浏览器非常多,所以浏览器的环境也是种类繁多,同一个浏览器也是包含各种不同的版本,不同的版本之间的渲染方法也存在差异,,它们支持的 HTML5.CSS3 特性恐怕也不尽相同.这种情况于是造成Web开发者在开发网站时,要面对数量庞大的浏览器种类. 如果开发时按最低标准,比如 IE6不支持的特性,我们统统不用,那就没有必要写这篇文章了:但我想这种情况极少,更多的开发,是在现代浏览器上使用它们支持的特性,而在早期浏览器上做一定的降级处理,这就是所谓 “渐进增强”,也是本文要说的重点.通过…
最近的项目中,因为需要兼容IE7,IE8,IE9,解研究了IE的条件注释,顺手写下来备忘.  HTML中的IE条件注释 IE条件注释是一种特殊的HTML注释,这种注释只有IE5.0及以上版本才能理解.比如普通的HTML注释是: 简而言之,除了“Windows上的IE”之外的所有浏览器都会认为条件注释只是一段普通的HTML注释. 你不能在CSS代码中使用条件注释.IE条件注释是很有用的对IE隐藏或者展现特定代码的方法,比起在CSS中用诡异的_/制造bug,利用IE条件注释来写CSS “hacks”…
1. 方案背景 由于低版本IE浏览器并不支持很多新的页面技术,导致部分页面效果难以实现;另一方面IE浏览器版本与操作系统绑定,难以统一,不同版本IE间的不兼容导致多种兼容性问题,因此本项目暂定采用Chrome作为客户端统一浏览器. 海康视频监控平台目前仅支持低版本IE浏览器(8.9),其相应操作系统最高版本为Windows7,本方案旨在解决需使用视频监控的PC终端机上的运行兼容性问题. 2. 解决思路 新建访问协议openIE,在系统需要跳转视频监控平台的链接中采用openIE协议,使得PC终端…
angularjs兼容低版本IE浏览器(IE8)angularjs在1.3之后的版本都是选择放弃对IE8及更低IE版本的支持,但是就目前的开发形式来看,IE8的使用客户还是蛮多的,最近有个项目要求尽量使用angularjs来写,项目一开始,就遇到了这个兼容低版本IE 让人头疼的问题,经过在网上的各种寻找,没找到一篇能让我这个angularjs新手很快解决问题的文,最后是综合了各种文,各种分析总结才解决的首先是版本问题,第一个要解决的就是版本问题,高版本的angularjs已经完全放弃IE了,所以…
摘要: 兼容低版本Android浏览器,请大家及时更新. Fundebug前端BUG监控服务 Fundebug是专业的程序BUG监控平台,我们JavaScript插件可以提供全方位的BUG监控,可以帮助开发者第一时间定位JavaScript执行错误.HTTP请求错误以及资源加载错误.并且,我们可以记录用户行为."录制"用户操作视频,帮助开发者快速复现BUG,提高Debug效率. 1.8.0兼容低版本Android浏览器 用户和我们反馈,Fundebug在Android 4.4与 5.1…
前端开发工程师可能了解IETester是一款IE多版本兼容性测试软件,但是只支持Windows Xp,Vista,7,8系统,Windows10是不支持的,网上所说的开启.net framework 3.5(包括.net2.0和3.0)经过本人测试也是不可以的. 那就没有什么方法在低版本IE上测试了吗?答案是否定的. 其实IE已经集成了低版本测试的功能,何必舍近求远. 打开"开发者工具(F12)",界面如下图,切换到"仿真"选项: 我们可以看到,Windows10下…
页面中的输入框默认的提示文字一般使用placeholder属性就可以了,即: <input type="text" name="username" placeholder="请输入用户名" value="" id="username"/> 最多加点样式控制下默认文字的颜色 input::-webkit-input-placeholder{color:#AAAAAA;} 但是在低版本的浏览器却不支…
一.科普IE条件注释 IE条件注释功能是条件注释是IE特有的一种功能,能对IE系列产品进行单独的XHTML代码处理,注意,主要是针对XHTML,而非CSS.条件注释功能非常强大,可以进行true和false判断.  最大好处:IE条件注释 属于微软官方给出的兼容解决办法而且还能通过W3C的效验. ***  上个栗子: <!--[if IE 8]> <link type="text/css" rel="stylesheet" href="m…
首先,判断浏览器是否支持placeholder属性:目前经验来看placeholder属性在     IE10及以上   才能正常显示,而我们实际项目中往往要求兼容到   IE8 var input = document.createElement('input'); if("placeholder" in input){ alert('支持'); }else{ alert('不支持'); } (1)如果只需要让不支持placeholder的浏览器能够支持改功能,并不要求支持原生pla…
如果需要在浏览器上显示 3D 画面的话, 现在一般会使用 ​WebGL, 典型的例如 three.js(​http://mrdoob.github.com/three.js/), 但是 WebGL 对浏览器版本以及显卡的要求比较高, 很多客户端无法正常使用 ———— 当然现在新买的机器是毫无压力的. 后来在网上查找到了 X3DOM(​http://www.x3dom.org/), 通过使用不同的后端(backend), X3DOM 可以兼容较低版本的浏览器(主要是指 IE 系列), 也可以在没有…