1.pc端常见兼容问题?
1.不同浏览器的标签默认的外补丁和内补丁不同 问题 :随便写几个标签,不加样式控制的情况下,各自的 margin和padding 差异较大 解决方法:在样式css里添加通配符 *(margin:0,paddin:0) 2.块属性标签float后,又有横行的margin情况下,在ie6显示margin比设置的的大 问题: ie6中后面的一块被顶到下一行 解决方法: 在float的标签样式中加入display:inline,转化为行内样式。 3.超链接hover点击后失效,使用正确的书写顺序 link visited hover active 4.谷歌文字大小12px以下不显示。 |
2.移动端常见兼容问题?
1、安卓浏览器看背景图片,有些设备会模糊 必须使用 2x 的背景图片来代替img 标签 2、移动端点击300ms延迟问题 因为300ms导致用户体验不是很好,我们一般在移动端用tap事件来取代click事件。 3、移动端点透问题 尽量使用touch事件来替换click事件,比如touchend事件 4、图片加载慢 手机开发一般用 canvas 方法加载 5、圆角bug 某些android手机圆角失效。 设置background-clip:padding-box; |
3.div 盒子水平居中?
1.absolute + transform: 绝对定位+ 转换 2.flex+justify-content+align-items(弹性模型) |
4.css动画的实现?
@keyframes 动画名字 { from { ;} to { ;} 或者 0% { ;} 50% { ;} 100% { ;} } |
5.H5中canvas的理解?
canvas 是 h5 新增的组件,就像是一块幕布。 可以用 javascript 在上面绘制各种图表、动画。 可以绘制 2D \ 3D |
6.如何实现跨域的,jsonp 的理解?
跨域:指的是浏览器不能执行其他网站的脚本。 原因:是由浏览器同源策略造成的,是浏览器施加的安全限制。(域名、端口号、协议均相同不会出现跨域) 解决方法: 1,jsonp 定义: jsonp 是一个非官方的协议,它允许在服务器端继承 script tags 返回至客户端,通过 javascript callback 的方式实现跨域访问。 优点:它不像XMLHttpRequest 对象实现的Ajax请求那样受到同源策略的限制;它的兼容性更好,在更加古老的浏览器中都可以运行, 不需要XMLHttpRequest 或ActiveX支持;并且在请求完毕后可以通过调用callback的方式回传结果。 缺点:只支持GET请求而不支持post等其他类型的HTTP请求; 原理: 动态添加一个<script>标签,而script标签的src属性是没有跨域的限制的 2,反向服务器代理 3,php 添加响应头 addHeader(‘Access-Control-Allow-Origin:*’);//允许所有来源访问 addHeader(‘Access-Control-Allow-Method:POST,GET’);//允许访问的方式 4,跨域资源共享(cors)前端只需要设置是否带 cookie |
7.什么是闭包?闭包的例子?
闭包:就是能够读取其他函数内部变量的函数; 优点:防止污染全局作用域,对私有变量起保护作用; 缺点:占内存,使用不当会造成内存泄漏; |
8.对ajax 的理解?
Ajax原理: 实际上就是通过 XmlHttpRequest对象来向服务器发异步请求,从服务器获取数据,然后通过javascript来操作dom而更新页面。 Ajax优点: 1、无刷新更新数据,减少用户等待的时间,更好的用户体验。 2、异步与服务器通信,无需打断用户,响应更加迅速。 3、减轻服务器和带宽的负担,节约空间和宽带成本。 4、Ajax的原则是“按需取数据”,可以最大程度的减少冗余请求和响应对服务器造成的负担,提升站点性能。 5、基于标准化,广泛被支持。 Ajax缺点: 1、破坏了前进后退功能,用户往往通过后退按钮来取消上一步操作,但是ajax无法实现。 可以使用Gmail来解决这个问题,通过创建或使用一个隐藏的iffame来重现页面上的变更。 2、安全问题。Ajax的逻辑可以对客服端的安全扫描技术隐藏起来,允许黑客从远端服务器上建立新的攻击。 3、对搜索引擎支持较弱 4、一些手持设备不能很好的支持。 |
9.同步和异步的区别?
web中的同步和异步: 同步请求:顺序处理,当我们向服务器发送请求时,在服务器没有返回结果之前,我们需要一直等待服务器响应,才能继续操作; 优点:同步的出现解决了多线程的安全问题; 缺点:耗费资源,影响运行效率,会堵塞; 异步请求:并行处理,当我们向服务器发动请求时,在服务器没有返回结果之前,可以继续执行,function 会被放在对列中; 优点:不堵塞; ajax中的同步和异步的区别: ajax中的open方法中,第三个参数设置同步或者异步; 同步: async = false,客户机需等待服务器返回结果; 异步:async = true, 客户机不等待服务器响应; |
10.ajax返回的数据类型?
1.text/Html 格式:直接当做字符串用就可以; 2.xml 格式: 返回的是xml dom 对象, 3.json格式 |
11.cookie 和本地存储的区别?
存储方式: cookie: 在服务器和浏览器间来回传递。 sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。 大小: cookie 数据不能超过4k,因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识。 sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。 数据有效期不同: cookie可以设置有效期,有效期前浏览器关闭仍然有效,默认是浏览器关闭无效; localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据; sessionStorage:仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持; |
12.localStorage用法?
清空localStorage : localStorage.clear()存储数据: localStorage.setItem() 读取数据: localStorage.getItem() |