常见的浏览器兼容问题: html 方面

之前有整理过一部分知识点, 一直没有发布, 因为都是有关 CSS 方面的零散内容; 现在想想无论分享什么内容都需要慢慢积累, 所以还是决定将之前整理的相关内容验证之后慢慢分享给大家, 不仅仅是 CSS; 这个专题 就是 HTML 相关的内容; 不积跬步,无以至千里, 一时得失莫要在意 。

好了废话不多说, 直接上代码以及图例(为了让大家方便阅读, 都有自己验证过程的一些图片作为分享) 。

1. 最突出也是最容易想到的就是 高版本的浏览器用了 低版本的浏览器 无法识别的元素, 从而导致不能解析 。 这点主要体现在 html5 的新标签上
1. 解决办法是: htmlshim / html5shiv.js 框架可以让低于 IE9 的浏览器支持 html5
2. img 的 alt 属性, 在图片不存在的情况下, 各浏览器的解析不一致
1. 在 chrome 下显示的是一张破损的图片

2. 在 ff 下显示的是 alt 的文字

3. 而在 IE 中显示的是破损的图片加文字
3. ul 标签 内外边距 问题
1. ul 标签在 IE6\IE7 中, 有个默认的 外边距, 但是在 IE8 以上及其他浏览器中有个默认的 内边距
4. 完美解决 Placeholder
   1. <input type="text" value="Name"  onFocus="this.value = '';"  onBlur="if (this.value == '') {this.value = 'Name';}" />

// 关于图片无法正常加载, JS 的解决办法 (需要将处理函数定义在 head 中, 防止图片加载出错时, 没有读取到处理函数):
// 方法一: (如果 img 标签是少量的话, 可以用这个)
<img src='test.jpg' alt='test' onerror="this.src='default.jpg'"></img>

// 方法二:
$(function(){
  // 注意: 在页面加载的时候添加, 并且添加完成后清空 onerror, 否则会一直循环请求.
  // 注册加载失败事件, 再次加载时先重新设置 url, 再清空原先的注册加载失败事件
  $("img").attr("onerror","this.src='img/error.jpg; this.οnerrοr=null;'");
  //遍历 img 标签, 再次重新加载
  $("img").each(function(){
      this.src = this.src;
  });
});

// 方法三: (JS 原生方法)
<img src="someimage.png" onerror="imgError(this);" />
function imgError(image){
 // 隐藏图片
 //  image.style.display = 'none';
 // 替换为默认图片
 document.getElementById("img").setAttribute("src", "images/demo.png"); // setAttribute() 方法添加指定的属性, 并为其赋指定的值 。
}
如果对你有所帮助,希望大家喜欢点个关注;整理知识点不易, 每次都是在工作繁忙之余夜深人静之时整理, 每次整理时都在思考如何让大家更容易理解, 更容易找到、看到自己想看到的内容; 无论知识点是大是小, 我都会验证后再分享, 以防自己发表的文章给大家造成误导。如有问题还望不吝赐教,本人会及时更改 (本文原创, 如需转载,请注明出处) 。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑木令

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值