前端调试
1、对于新型创业公司来说,我们一般需要考虑以下的各种典型的浏览器:
PC端: chrome、firefox、IE、360、搜狗
移动端: IE、360、UC、safari、安卓、QQ浏览器
若是基于微信的网页开发,那么需要在微信上进行调试:
- 个人:直接用手机打开网页,alert
- 推荐:微信开发者工具。ps:需要有公众号,并且开放开发者权限。跟一般浏览器的调试功能相似。
2、PC端如何调试?
直接打开:
- 对于无数据交互功能的静态页面 —— 直接用浏览器打开文件
-
涉及到后台数据交互:搭建
http-server
,在不同的浏览器打开网址-
如何搭建一个本地的
http-server
?- window:搭建
wamp
环境 - linux:搭建
lamp
环境 - 轻量化:
xampp
(个人正在使用)
- window:搭建
-
如何访问?
- 学习各个环境文件放在哪里
- 用
http://127.0.0.1:port/路径
或localhost:port/路径
访问
-
虚拟机
If you like, everything is ok! ?
补充——打开浏览器的开发者工具
(1)在IE中调试
打开IE--使用Internet explorer打开--开发者人员工具--仿真(2)在chrome中调试:
右键--检查
3、移动端如何调试?
最简单的,打开浏览器的开发者工具,选择左上角的手机图标:
4、测试工具分享
- 1、
IETester
顾名思义,模拟IE不同版本浏览器的一个测试工具。不过现在大多数公司都已经放弃了IE8以下的用户了。所以看自己时间与精力吧。 - 2、云测试
testin.cn
- 3、安卓浏览器
Genynotion
有时需翻墙 - 4、省时的浏览器测试同步工具:
browsersync
(用npm安装,支持远程访问,好酷!)
前端兼容性
1、polyfill与shim:填平浏览器兼容的坑
- shim的意思是在一个老(旧)环境中模拟出一个新API,有时也叫做shiv,例如著名的html5shiv库。
- polyfill的意思和shim差不多,2010年10月份Remy Sharp引进了这个概念,一个polyfill是一段代码或插件,用来提供浏览器不能提供的功能。程序库先检查浏览器是否支持某个API,如果不支持则加载对应的polyfill。
- polyfill这个词最早来自居室装修领域,是一个英国产品,在美国称为Spackling Paste(刮墙用的,Spackle是美国抹墙粉的一个品牌。在中国称为腻子或填泥,腻子英文是putty,而填泥英文是filler)。可以这样理解:把旧的浏览器想象成一面有了裂痕的墙,这些polyfill会帮助我们把这面墙的裂痕抹平,桓我们一个光滑的墙壁。
- shim的概念要比polyfill更大一些,可以将polyfill理解为专门兼容浏览器API的shim。
我们可以这么理解polyfill:
如果浏览器X支持标准规定的功能,那么polyfill可以让浏览器Y的行为与浏览器X一样。
2、对于IE浏览器,用最新的渲染模式渲染
在<header>
标签中加入下面这段代码:
<meta http-equiv= "x-ua-compatible" content= "ie=edge">
3、html浏览器兼容
同样,在<header>
标签中加入下面这段代码:
<!--[if lt IE 9]>
<script src="http://apps.bdimg.com/libs/html5shiv/3.7/html5shiv.min.js"></script>
<![endif]-->
其中各个英文对应的符号:
lt < 小于
gt > 大于
lte <= 小于或等于
gte >= 大于或等于
4、统一样式
不同的浏览器都有内置的默认样式,所以我们通常需要统一各个浏览器的样式,所以在页面中引入以下文件吧。
具体文件直接搜索即可?
css resets vs Normalize.css
5、通用兼容性方法
- cssHacks 通过browserhacks.com可搜索是否可用
- polyfill/shiv
- 使用Modernizr 防御性主动性编程 为我们主动加类,自己写样式 .svg{} .no-svg{}
6、caniuse查兼容性
我们可以看看,哪些我们可以使用,哪些属性语法不能用,戳下面?
can I Use 官网
前端适配
移动端适配
如果你是做移动端开发的,在header中加入以下这一段代码是至关重要的。
<meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
另外,还可以插入以下代码:
<meta content="yes" name="apple-mobile-web-app-capable">
<meta content="black" name="apple-mobile-web-app-status-bar-style">
参考资料
每天坚持学习与输出,欢迎来跟我交流!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。