曾经的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内核,所以说做移动端开发,更 ...
随机推荐
- vimrc for windows
set nobackupsource $VIMRUNTIME/vimrc_example.vimsource $VIMRUNTIME/mswin.vimbehave mswin:color deser ...
- LinkedList源代码深入剖析
第1部分 LinkedList介绍LinkedList简介 public class LinkedList<E> extends AbstractSequentialList<E&g ...
- 最短路径算法之三——Bellman-Ford算法
Bellman-Ford算法 Dijkstra算法无法判断含负权边的图的最短路. 如果遇到负权,在没有负权回路存在时,即便有负权的边,也可以采用Bellman-Ford算法正确求出最短路径. PS:负 ...
- Android EditText中插入图片并响应点击事件
EditText中插入图片基本就是两种方法: ,通过Html.fromHtml(..)来实现 [mw_shl_code=java,true]eText.append(Html.fromHtml(&qu ...
- C#+SQL数据库备份和还原
使用前要导入SQLDMO.dll(在com组件中导入Microsoft SQLDMO Object Library即可) /// /// DbOper类,主要应用SQLDMO实现对Microsoft ...
- 通过ngx-lua来统计Nginx上的虚拟主机性能数据
Web server调研分析 Filed under: Web Server — cmpan @ 2012-10-29 20:38:34 摘要 简单可依赖的架构首先需要有一个简单可依赖的前端WebSe ...
- 取出block所对应的hash值
/**********************************************************************//** Gets the hash value of t ...
- NLog 传递参数
用NLog记文件日志,一般都用{$basedir}变量,把日志记在运行的目录或者它的子目录下,遇到要写在其他目录的下,看了下Nlog找到用环境变量传参数. .net 里写 Environment.Se ...
- I.MX6 Android Linux shell MMPF0100 i2c 获取数据
#!/system/bin/busybox ash # # I.MX6 Android Linux shell MMPF0100 i2c 获取数据 # 说明: # 本文主要记录通过shell脚本来获取 ...
- idea开发工具中你可能不知道的却又比较好用的快捷键
Alt+insert :生成代码 较为常用的是 1.普通Class中生成get set 方法 .生成构造函数.生成spring注入.重写对象的equal.toString.hashcode方法 2.如 ...