今天开发一个浏览器 bookmarklet 的应用,加载一些 Javascript。 在 Firefox 上测试都很顺利,搬到 IE 上居然不能执行! 点击书签后,仔细观察浏览器的反应,看到状态栏突然出现一个图标,是“隐私报告”,打开后,提示我要访问的网站有第三方 cookie,已被阻止。 我就很奇怪了,另一个 bookmarklet 应用是同一套流程开发的,怎么没出现这样的问题? 把两边的代码改成一样的,结果还是不行! […]
IE
IE Bug Javascript
问题描述: 当 A 标签的文本是 http 开头时,设置 href 属性,会同时以相同的值更新链接文本,反之亦然。 解决方法: 在设置 href 时,在开头添加一个空格 ‘ ‘,即可解决此 bug。 […]
KB927917 IE 报错 解决方法
在 body 标签内调用 append 方式给 body 增加一个节点,如果此时 body 未加载完,也就是 body 标签还未关闭,IE 将报错:KB927917。 页面错误提示:Unable to modify […]
开发人员为什么要支持非IE浏览器的四个故事
开发人员为什么要支持非IE浏览器的四个故事 最近一不小心陷入了对第二次浏览器大战的深思,并参与了几次网上讨论。颇有心得,不知何处分享。下面要讲的四个故事,都是客户(或者你的雇主)对你我(这样的开发人员)讲的故事。来源于生活,高于生活。 1) 你受雇于Z商银行专业版开发团队,不久结识了负责专业版客服的漂亮MM。爱情的滋味让你忘记了工作的烦恼,但是你却清楚的记得那一天走进心仪MM的办公 室,她的老板正在抱怨客户的投诉。原来很多江浙一带的有钱小老板,一直是Z商银行的忠实客户,可是人有钱就有了精神追求,他们这两年纷纷配备了Mac的本 本,有白色的有银色的。。。明白了吧?!现在他们的钱都转存至浦东发展银行和深圳发展银行了。 数据显示,MacBook和MacBook Pro在中国的销量每年都在高速增长,这还没有统计从香港出货而最终用户是大陆人的数量。Mac上人们常用两个浏览器,Safari和 Firefox,Safari非常酷,而且对标准的支持非常好,Firefox插件多,安全性好。最重要的是,如果你已经具有开发IE Web App的能力,那么就已经具备开发标准Web App的能力了。只要有心,万事不难。微软自己也不再喜欢ActiveX了,他们经常游说你们团队用Silverlight。这次,你的老板还会上当吗? 千万别忘了,这还是微软的私有技术,即使他们承诺Silverlight将跨平台,你也会觉得难用无比,别忘了他们曾经做过让网页设计师谈虎色变的IE for Mac。 […]
IE6 CSS Hack
最近在做一些UT的工作,写一些HTML和CSS,又遇到了一直很头疼的浏览器兼容问题。 主要就是让人讨厌的IE6,总是需要进行很多特殊的处理。 遇到表格类型的HTML区域,我一直觉得用table是最合适的,解决局部的单层表格,table是最方便的,HTML语言加入table这个标签的初衷就在这里。 不过因应用需要,我这回必须要用div实现table的布局,只能硬着头皮搞了。 对表格区域,我用ul标签,用li作为每行的容器。 在每个li标签中,用div作为列单元的容器。 这会遇到几个问题,同时也有一些优点吧: (缺点)列的宽度必须用样式来定义,比如每行相同的列单元,都必须使用相同的class,在css中给这个class定义绝对宽度,用width=240px这类的语句,代码冗余比较多 (缺点)每个div必须添加float:left的css定义,因为div是块状元素,默认是按行竖着排列的,设为浮动元素后,才可以横着排列 (缺点)float:left这个属性的排列方式,我总结的是按左上原则,可以理解为左上角是引力中心,把每个float元素都紧紧地吸附着,如果右侧有空间,就顺序排列在右侧,如果没空间了,就到下面一行尽量靠左的位置开始排列……,因此如果宽度不够,改行左边单元的高度又高于其他单元,那么最右侧的单元会卡在左边的单元右侧,呃,可能不好理解,回头我给个图,专门说一下这个规则 (缺点)li的高度默认不是自适应,当div单元的高度很大时,会突破li容器,影响下一行li的显示,呃……不过这个是有办法解决的,这篇文章主要就是来说明这个解决办法 (优点)div对浏览器来说就是一个简单的元素,浏览器每读完一个div,就可以立即显示,不必等待所有html代码都下载完才画出页面,这也是大家不喜欢table的主要原因 (优点)每行都有自己单独的列元素,每列的宽度可以不一致,这点table很难做到,即便能做到,也是用非常绕弯的方法,而用li+div来解决,就很灵活 看似缺点比较多,不过缺点都可以解决。 下面列举几个方法,就不一一对应了,其实道理都是相通的: […]
PHP 文件下载 IE 无法打开页面
IE 又有一个弱得不行的问题让我发现! 有个项目,要限制文件的下载权限,只有注册用户才可以下载,用户登录后,点击下载链接,弹出保存附件的提示。 我用 PHP 写了一个下载类,支持断点续传的。 今天发现一个问题,在 IE 7 下,点击链接,可以弹出对话框,提示 “打开”、”保存” 和 “取消”,点击打开没问题,点击保存,却马上弹出错误提示 “该页面无法打开”! 这时可以注意到一个细节,弹出保存对话框的时候,正常情况下窗口左边会根据文件类型显示图标,而此时却是一个没有类型的默认图标。 […]
Javascript 获取 textarea 光标 文字 位置 内容 IE Firefox
Javascript 获取 textarea 光标 文字 位置 内容 IE Firefox 最近帮朋友做一个获取文字内容,并处理选中文字的Javascript程序。 本来上网查查,用Firefox搞定了,包括Opera、Safari,不过到IE那里遇到很多问题!!! 还发现了IE的一个Bug! 就是 var objRange = […]
浏览器 跨域 安全
Manuel Caballero大牛在这次的BLUEHAT大会上讲了一个叫A Resident in My Domain 的议题,字面上的意思就是驻留在自己的域,随后开始有牛人在自己BLOG上写了一些相关的 内容,这段时间一直和HI群里的朋友在讨论这个问题,大家都简称为鬼页,这个鬼页非常神奇, 可以跟随你浏览的每个页面。经过鬼页的启发,我也对浏览器的跨域安全问题进行了测试。 1.来自伪协议的呼唤 JAVASCRIPT里大家都频繁使用window对象,window对象代表的就是浏览器的窗口,我们 就来测试下window对象的open方法,尝试让新开的窗口执行伪协议。 […]