曾经的pc端项目踩到的一些兼容性的坑及其解决方案
曾经公司pc端项目一直最低兼容到IE7,要求和chrome下浏览效果一致,真心坑坏了我和另外一个小伙伴(另一个小伙伴以前也没处理过兼容问题)。不过还好,在这里真心感谢鑫哥博客的详解,从底层原理讲到了具体该如何解决(虽然我们踩过的许多无厘头的坑里面也没有),但是还是想把鑫哥的博客推荐出来,毕竟互联网时代的技术是共享的,张鑫旭: http://www.zhangxinxu.com/,国内js大牛也许没有公认的最厉害的,但是鑫哥在我们小伙伴的眼里css基本上是NO1
废话就不说那莫多了,本来打算在一篇博客里把情况及解决方案集中列一下的,但是仔细研究下鑫哥的博客,这样只会导致为了解决问题而解决问题的情况出现,可能换一个标签这个方法就不同用了,因此决定后面按类来划分,具体详细的细节点可以查看鑫哥的博客,我也会追加上具体的点的博客地址作为补充,希望鑫哥不会告我侵权(haha)。
出来具体的解决方案之前,想絮叨几句,这是最后出来的经验:
1.如果是自己纯手写不引入框架的话,尽量遵循w3c的规范来写,这样可以极大降低兼容性问题出现的可能及各种奇葩问题,包括样式名的定义及书写顺序和标签嵌套也要按照规范来
2.提前和产品经理及运营沟通好,是否需要做低版本的ie处理,受众群体的浏览器使用情况,吐过需要处理的话,尽量少用H5的新标签和css3的属性,老老实实使用类名选择元素还是比较靠谱的,不需要的话也要做好部分css样式的处理,在移动端android上兼容有时候也会出问题,如响应式布局,后面会详解。
3.自己练手的项目不建议使用框架,但是公司项目尽量使用框架,如bootstrap,pc端即使需求人员不提自己也要做好适配处理,另外兼容问题可以极大缩少
话说现在鹅厂已经不再考虑ie8了,咱们前端也快该放弃他了,哈哈,希望这天早点到来,但是现阶段是否需要考虑还是得看具体的受众,坑坑的xp系统还有人在用。
另外移动端的适配,兼容,SPA应用会逐一记录(我用的也不是太深,才从头真正做过两个SPA的项目重构,希望勿喷)
曾经的pc端项目踩到的一些兼容性的坑及其解决方案的更多相关文章
- 移动端与pc端的区别 及 ios的 兼容性问题
前言:这里移动端主要指 hybrid app 中的H5页面.app 中对页面 样式和功能 的需求会更精细一点. 1.适配: 手机端的尺寸多样,3.5英寸的 iPhone4应该是最小的,只要考虑 兼容到 ...
- pc端的企业网站(IT修真院test9)详解一个响应式完成的pc端项目
一:引入bootstrap框架 昨天一直被bootstrap栅格系统折磨. why? 我本来想一边码字,一边学习栅格布局的.but不成功.这时我头脑已经昏了. 下午,我查看了bootstrap的官网, ...
- react 开发 PC 端项目(一)项目环境搭建 及 处理 IE8 兼容问题
步骤一:项目环境搭建 首先,你不应该使用 React v15 或更高版本.使用仍然支持 IE8 的 React v0.14 即可. 技术选型: 1.react@0.14 2.bootstrap3 3. ...
- vue PC端项目中解决userinfo问题
在vue2 中用脚手架建立的项目,后端提供接口获取数据.在公司做第一个项目的时候不清楚公司里的对接流程,结果后续代码被一个接口整的乱七八糟,这个接口是获取用户信息的接口——'usre/info'. 如 ...
- 【angularjs】使用angular搭建PC端项目,开关按钮
方法一(使用指令) 1.指令(angular-ui-switch.js) angular.module('uiSwitch', []) app.directive('switch', function ...
- vue-cli 移动端项目如何在手机上调试预览
这里分享下如何在webpack工具构建下的vue项目,在手机端调试和预览,言归正传. 1.电脑和手机连接到同一个WIFI a.台式电脑和手机同时链接一个路由器,使用同一个wifi: b.笔记本也可以直 ...
- 前端:移动端和PC端的区别
在阿里的几次面试中,总是被问到移动端和PC端有什么区别,当时回答的时候主要是回答了在兼容性.网速.适配.页面布局等方面的不同,但是还是很不系统,所以这里做一个总结. 第一: PC考虑的是浏览器的兼容性 ...
- 移动端和PC端有什么区别
1.PC考虑的是浏览器的兼容性,而移动端开发考虑的更多的是手机兼容性,因为目前不管是android手机还是ios手机,一般浏览器使用的都是webkit内核,所以说做移动端开发,更多考虑的应该是手机分辨 ...
- 简述移动端与PC端的区别
1.移动端与PC端的区别 PC考虑的是浏览器的兼容性,而移动端开发考虑的更多的是手机兼容性,因为目前不管是android手机还是ios手机,一般浏览器使用的都是webkit内核,所以说做移动端开发,更 ...
随机推荐
- PRMonitor,学习SSDT HOOK的好例子,学习的内核HOOK的好例子(注意右边有一堆类似的例子)
http://download.csdn.net/detail/bolong5240/1060645
- ArcGIS学习记录—属性表的编辑与修改
原文地址: ArcGIS问题:属性表的编辑与修改 - Silent Dawn的日志 - 网易博客 http://gisman.blog.163.com/blog/static/344933882009 ...
- HASH暴力破解工具-Hashcat
乌云网看到一篇文章讲述hashcat的使用简介(戳这里),对使用字典破解MD5内容 简单在kali上尝试了一下. (1)首先查看了下hashcat的帮助文档,简单截取了其中的部分常用说明. hashc ...
- P99、面试题13:在o(1)时间删除链表结点
题目:给定单向链表的头指针和一个结点指针,定义一个函数在o(1)时间删除该结点.链表结点与函数的定义如下:struct ListNode{ int m_nValue; List ...
- python学习笔记六--用户自定义类
一.类: 1. 面向对象. 2. 定义了新的对象类型. 定义了两个属性:name,pay 定义了两个方法:lastName,giveRaise
- mysql 闪回表工具
use HTTP::Date qw(time2iso str2time time2iso time2isoz); use POSIX; my $SDATE = strftime("%Y-%m ...
- 【HDOJ】3007 Buried memory
1. 题目描述有n个点,求能覆盖这n个点的半径最小的圆的圆心及半径. 2. 基本思路算法模板http://soft.cs.tsinghua.edu.cn/blog/?q=node/1066定义Di表示 ...
- entity framework 查询
1.简单查询: SQL: SELECT * FROM [Clients] WHERE Type=1 AND Deleted=0 ORDER BY ID EF: //Func形式 var clients ...
- JQuery设置与获取RadioButtonList和CheckBoxList的值
有这样一个问题,要获取ASP.NET控件RadioButtonList的值,首先想到的就是$("#<%=RadioButtonList1.ClientID %>").v ...
- JS 动态显示 获取下拉框的多个值
<script type="text/javascript"> function GetProcessVal(i, t) { document.getElementsB ...