坑爹的IE8
1.不能用trim(),要用$.trim()
var aa = $("#id").val().trim() 这样素不行的,要变成这样Jquery的方式 var aa = $.trim($("#id").val())
还有个迂回的方式自己来实现
参照:http://hi.baidu.com/yuiezt/item/756d0f4ec4d2640ec11613f9
2.使用<marquee>,当一轮走过后,总要有一段空白的才会走下一轮。当里面的内容超过屏幕宽度太多时,这种状况就更加明显了。
为此,改用每隔一段时间移动位置来实现。
发现当speed设成1时,IE8变得非常局促,一下快一下慢,这是为咩啊,我摔,别的IE9,Chrome都飞快地说。
<script>
var speed=100;
var tab=document.getElementById("main");
var tab1=document.getElementById("content1");
var tab2=document.getElementById("content2");
tab2.innerHTML=tab1.innerHTML;
function Marquee(){
if(tab2.offsetWidth-tab.scrollLeft<=0)
tab.scrollLeft=tab.scrollLeft-tab1.offsetWidth*10
else{
tab.scrollLeft=tab.scrollLeft+10;
}
}
var MyMar=setInterval(Marquee,speed);
tab.onmouseover=function() {clearInterval(MyMar)};
tab.onmouseout=function() {MyMar=setInterval(Marquee,speed)};
</script>
3.慎用"dispaly:none"/"display:block",采用"visiblity:hidden"/"visibility:show",最好用Jquery的show()和hide()来控制
"visiblity:hidden"会留出个位置给隐藏元素,这样当切换元素可见不可见的时候,画面位置不会改变。
而"display:none"在其它浏览器也没事,但碰上IE8,就会在页面上留下个残影,IE8,你的反应要不要这么慢阿!
4.当DropDown List子项值的长度超过预留位置时,IE8挡住了过长的部分,不方便选择
补救方法,在option加上title属性,使得鼠标放上面可以显示整个文本值
test : <select name="Select1" value="0" style="width:250px">
<option selected="true" value="0">Please choose a value</option>
<option value="1" title='aaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbaacccccccccccc'>aaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbaacccccccccccc</option>
<option value="2" title='aaaaaaaaaabbbbbbbbbbbbbbbbbbbcccccddddddd'>aaaaaaaaaabbbbbbbbbbbbbbbbbbbcccccddddddd</option>
</select>
效果:
5.Jquery在做Browser support时,动态给地里面加入些元素测试,结果某些语句通不过
这个是ie的问题,它不支持修改tr或table的innerHTML属性,只允许修改td的innerHTML,真是奇葩呀
innerHTML未知的运行错误
http://www.cnblogs.com/orc/archive/2008/06/18/1224322.html
jquery-1.8.3.js
div = document.createElement("div");
div.innerHTML = "<table><tr><td></td><td>t</td></tr></table>";
jquery.js
div.innerHTML = "<div style='width:4px;'></div>";
div.innerHTML = "<table><tr><td style='padding:0;display:none'></td><td>t</td></tr></table>";
解决办法,使用低版本的jQuery,比如jquery-1.6.4
坑爹的IE8的更多相关文章
- IE8中伪元素动态作用样式不重绘bug记录
前阵子对公司框架的前端优化中,使用了字体图标(iconfont)来做模块的图标集,供用户进行配置选择. 字体图标的有非常好的灵活性和复用性,可以像处理文字一样通过font-size进行大小设置.通过c ...
- [原创]首次制作JQueryUI插件-Timeline时间轴
特点: 1. 支持多左右滚动,左右拖动. 2. 时间轴可上下两种显示方式. 3. 支持两种模式的平滑滚动/拖动. 4. 行压缩(后续版本此处可设置是否开启,上传的代码不带这个功能). 5. 支持hov ...
- 【Javascript】IE8兼容 背景图片与a标签的onclick事件
先说几句牢骚话. 虽然IE8比之IE6.7有很大的进步,但是在执行效率.兼容性上仍然有很多问题.被广大开发者喜爱的平台才是好平台. 可惜多亏当年盗版XP打开中国的计算机市场,IE作为一款捆绑软件仍然在 ...
- IE 坑爹的浏览器兼容模式
作为作为Web的前端开发人员,最悲催的莫过于要不断的,不断的去调试各种浏览器的显示效果,个人比较喜欢用火狐浏览器来做开发和调试,对于不怎么懂CSS的我来说,IE的样式调整一看就头大了.对于没有美工的团 ...
- IE8/9 本地预览上传图片
本地预览的意思是,在选择图片之后先不上传到服务器,而是由一个<img>标签来预览本地的图片,非 IE8/9 浏览器可以从<input type="file"/&g ...
- IE8/9 JQuery.Ajax 上传文件无效
IE8/9 JQuery.Ajax 上传文件有两个限制: 使用 JQuery.Ajax 无法上传文件(因为无法使用 FormData,FormData 是 HTML5 的一个特性,IE8/9 不支持) ...
- jQuery.Ajax IE8 无效(CORS)
今天在开发的时候,遇到一个问题,$.get()在 IE8 浏览器不起作用,但 Chrome,Firefox 却是可以的,网上资料很多,最后发现是 IE8 默认不支持 CORS 请求,需要手动开启下: ...
- ie6 ie7 ie8 ie9兼容问题终极解决方案
放下包袱,解决低版本兼容问题 这是一个老生常谈的问题,自然解决这个问题的方案也比较多,下面整理了一些解决方法: 1.强制使用高版本渲染模式. 强制使用Edge模式来解析网页代码 <meta ...
- 解决使用IE8打开ADFS 3.0登录页面
系统上线前一天,发现客户竟然有XP系统和2003系统,这些系统都不能访问外网.测试时,客户端是IE8,打开我们系统ADFS的登录页面,一直在Loading,无法打开,也不报错.后来通过fiddler跟 ...
随机推荐
- notepad++安装markdown
notepad++ 安装markdown安装markdown插件一.下载最新的markdown插件, github:https://github.com/nea/MarkdownViewerPlusP ...
- golang日志库之glog使用问题总结
1. 日志默认输出路径为临时路径,可通过执行命令时带上 -log_dir="路径",指定输出,但路径必须已存在,源码如下,日志文件会生成两个 .INFO等后缀是符号链接文件,另一个 ...
- 微信公众号h5页面自定义分享
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- CentOS 6.9安装配置nmon
nmon是一款开源的性能监控工具,用于监控CentOS系统的资源消耗信息,并能把结果输出到文件中,然后通过nmon_analyser性能报告分析器生成数据分析报表. 一.安装nmon: 1. 配置ep ...
- 在论坛中出现的比较难的sql问题:45(用户在线登陆时间的小时、分钟计算问题)
原文:在论坛中出现的比较难的sql问题:45(用户在线登陆时间的小时.分钟计算问题) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. ...
- VS.NET(C#)--1.3_VS2005开始
VS2005开始 开始页 1.文件系统:这是默认,把网站创建到当前物理文件系统上(可以本地或网络).此时VS2005将使用内置的Web服务器,不使用IIS运行Web应用程序.2.HTTP使用IIS处理 ...
- 目标进程已退出,但未引发 CoreCLR 启动事件
目标进程已退出,但未引发 CoreCLR 启动事件.请确保将目标进程配置为使用 .NET Core.如果目标进程未运行 .NET Core,则发生这种情况并不意外 解决:更新SDK版本
- 【转载】Session对象的作用以及常见属性
Session对象是Asp.Net应用程序中非常重要的一个内置对象,Session是指用户从打开浏览器访问服务器到关闭浏览器之间的会话状态,在一个会话期间,服务器会自动分配一个标识SessionId. ...
- Eclipse 交叉编译环境
创建空工程 添加交叉编译环境 添加工程文件 如需修改交叉编译环境 Cross GCC:使用交叉编译命令编译,需要自己指定 MinGW GCC:使用make命令编译,需要有Makefile Make T ...
- 微信小程序错误readFile:fail parameter error: parameter.filePath should be String instead of Undefined;
我是在使用camera组件时遇到的该问题 原因是未保存文件路径(微信使用摄像头拍照后会把图片保存在一个临时的路径,所以你需要自己定义一个变量来存这个路径,以备下次使用该变量去访问文件) 所以加上你需要 ...