以前都说前端坑,或者前端入坑了,为什么呢? 因为 IE 啊。
我做前端以来,一直都是很幸福的,因为还几乎咩有处理过 ie 的兼容问题。
但是最近要处理,以前应付面试背过的兼容方案都忘掉了,所以还是要查。
忽略 IE6,IE7 的情况下,规则就这几条:
\9 IE6/IE7/IE8/IE9/IE10都生效
\0 IE8/IE9/IE10都生效
\9\0 只对IE9/IE10生效
当然还有这个东西
html
[if lt IE 9]><![endif]
继续阅读 »
做客户的一个专题,四个静态页面。
点击新窗口打开,target="_blank"
上线之后,客户打电话过来,反映IE会显示是文件,只能下载,不能打开。
纳闷了!!!怎么回事?
页面后缀是special/1 2 3 4
首先想到的是,是否IE不支持数字作为后缀?
在IE console中修改页面代码,改为1.html,能正常弹出一个404页面。
修改controller,改为special/first ...
重新提交,用ie再次打开,fuck,还是下载....
蛋疼了!!
继续console
找到
Content-Type:*/*;charset=UTF-8
正常情况下应该是
Content-Type:te
继续阅读 »
content
{:toc}
问题描述
当我们点击一个空的、没有任何内容的 div 或者其他块级元素时。在 IE11 以下,是没有反应的。
使用场景
这类问题使用场景还是很普遍的。比如 UI 给了一张大图,要点击图上的某一块位置的时候。可以用一个空的 div 定位到相应的位置,然后对它进行绑定事件。
继续阅读 »
在过去,内存泄漏并没有为 Web 开发人员带来巨大的问题。页面保持着相对简单,并且在页面之间的跳转时可以释放内存资源,即便还存在内存泄露,那也是小到可以被忽略。
现在,新的 Web 应用达到更高的水准,页面可能运行数小时而不跳转,通过 Web 服务动态检索和更新页面。JavaScript 语言特性也被发挥到极致,通过复杂的事件绑定、面向对象和闭包等特性构成了整个 Web 应用。面对这些变化,内存泄露问题变得越来越突出,尤其是之前那些通过刷新(导航)隐藏的内存泄露问题。
庆幸的是,如果你知道如何排查问题,内存泄露可以很轻易地被清除。即便是面对一些最麻烦的问题,如果你知道解决方案,也只需要少量的工作。虽然页面仍可能存在一些小的内存泄
继续阅读 »
使用ajax跨域請求時,在chrome、firefox等兼容性較好的瀏覽器中,可以看到返回結果、
但在IE中,ajax會自動跳到error方法中,打開f12調試,返回錯誤為(No Transport),苦惱了我很久
[][1]
继续阅读 »
IE8在上傳圖片時會莫名其妙多出個框,
[][1]
继续阅读 »
全屏API可以控制浏览器的全屏显示,让一个Element节点(以及子节点)占满用户的整个屏幕。目前各大浏览器的最新版本都支持这个API(包括IE11),但是使用的时候需要加上浏览器前缀。
more
方法
requestFullscreen()
Element节点的requestFullscreen方法,可以使得这个节点全屏。
```javascript
function launchFullscreen(element) {
if(element.requestFullscreen) {
element.requestFullscreen();
} else if(element.mozRequestFull
继续阅读 »
原文连接:Writing Fast, Memory-Efficient JavaScript
许多 JavaScript 引擎都是为了快速执行的大型 JavaScript 应用程序设计而特别设计,如 Google V8 引擎(正被 Chrome 和 NodeJS 使用)。在开发过程中,如果你关心内存使用情况和页面性能,你应该了解户浏览器的 JavaScript 引擎的内部运作原理。
无论是V8、SpiderMonkey(Firefox)、Carakan(Opera)、Chakra(IE)或其他 JavaScript 引擎,了解引擎背后的一些运行机制可以帮助你更好地优化你的应用程序。但,这并不是说应该专门为某一浏览器或引擎进行
继续阅读 »
写在前面
如果你不会原生js,只会用jquery,那么你必须懂得jquery如何做性能优化。下面我总结了一些常用的,希望对大家有些帮助。
使用最新的jQuery类库
使用合适的选择器
(1) 使用id来定位DOM元素是最高效的方式,如果不能直接用id找到你需要的元素,可以考虑用find()方法。
(2) 标签选择器的性能也是不错的,它是性能优化的第二选择,因为jQuery将直接调用本地方法document.getElementByTagName()来定位DOM元素。
(3) 对于类选择器,现代浏览器和IE9+ 支持本地方法document.getElementByClassName(),而对于老的浏览器如IE8 以及以前的版
继续阅读 »
概述
除了正常运行模式,ECMAscript 5添加了第二种运行模式:"严格模式"(strict mode)。顾名思义,这种模式使得Javascript在更严格的条件下运行。
设立"严格模式"的目的,主要有以下几个:
消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
消除代码运行的一些不安全之处,保证代码运行的安全;
提高编译器效率,增加运行速度;
为未来新版本的Javascript做好铺垫。
"严格模式"体现了Javascript更合理、更安全、更严谨的发展方向,包括IE10在内的主流浏览器,都已经支持它,许多大项目已经开始全面拥抱它。
另一方面,同样的代码,在"严格模式"中,可能会有不一样的运
继续阅读 »