html面试题目总结

除了下面还有个网站总结了很多 http://blog.jobbole.com/78346/

 

 

html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?

* HTML5 现在已经不是 SGML 的子集,主要是关于图像,位置,存储,多任务等功能的增加。

  绘画 canvas;

  用于媒介回放的 video 和 audio 元素;

  本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失;

  sessionStorage 的数据在浏览器关闭后自动删除;

  语意化更好的内容元素,比如 article、footer、header、nav、section;

  表单控件,calendar、date、time、email、url、search;

  新的技术webworker, websockt, Geolocation;

  移除的元素:

  纯表现的元素:basefont,big,center,font, s,strike,tt,u;

  对可用性产生负面影响的元素:frame,frameset,noframes;

  * 支持HTML5新标签:

  IE8/IE7/IE6支持通过document.createElement方法产生的标签,

  可以利用这一特性让这些浏览器支持HTML5新标签,

  浏览器支持新标签后,还需要添加标签默认的样式。

  当然最好的方式是直接使用成熟的框架、使用最多的是html5shim框架

 

 

HTML5的离线储存怎么使用,工作原理能不能解释一下?

  在用户没有与因特网连接时,可以正常访问站点或应用,在用户与因特网连接时,更新用户机器上的缓存文件。

  原理:HTML5的离线存储是基于一个新建的.appcache文件的缓存机制(不是存储技术),通过这个文件上的解析清单离线存储资源,这些资源就会像cookie一样被存储了下来。之后当网络在处于离线状态下时,浏览器会通过被离线存储的数据进行页面展示。

  如何使用:

  1、页面头部像下面一样加入一个manifest的属性;

  2、在cache.manifest文件的编写离线存储的资源;

  CACHE MANIFEST

  #v0.11

  CACHE:

  js/app.js

  css/style.css

  NETWORK:

  resourse/logo.png

  FALLBACK:

  / /offline.html

    3、在离线状态时,操作window.applicationCache进行需求实现。

  详细的使用请参考:有趣的HTML5:离线存储

  浏览器是怎么对HTML5的离线储存资源进行管理和加载的呢?

  在线的情况下,浏览器发现html头部有manifest属性,它会请求manifest文件,如果是第一次访问app,那么浏览器就会根据manifest文件的内容下载相应的资源并且进行离线存储。如果已经访问过app并且资源已经离线存储了,那么浏览器就会使用离线的资源加载页面,然后浏览器会对比新的manifest文件与旧的manifest文件,如果文件没有发生改变,就不做任何操作,如果文件改变了,那么就会重新下载文件中的资源并进行离线存储。

  离线的情况下,浏览器就直接使用离线存储的资源。

 

 

请描述一下 cookies,sessionStorage 和 localStorage 的区别?

(1)与cookie不同的是:Web Storage数据完全存储在客户端,不需要通过浏览器的请求将数据传给服务器,因此相比cookie来说能够存储更多的数据,大概5M左右。单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能3K。

   (2)LocalStorage和sessionStorage功能上是一样的,但是存储持久时间不一样。

        LocalStorage:浏览器关闭了数据仍然可以保存下来,并可用于所有同源(相同的域名、协议和端口)窗口(或标签页)永久存储,永不失效,除非手动删除

        sessionStorage:数据存储在窗口对象中,窗口关闭后对应的窗口对象消失,存储的数据也会丢失。就是浏览器窗口关闭就失效了。

     注意:sessionStorage 都可以用localStorage 来代替,但需要记住的是,在窗口或者标签页关闭时,使用sessionStorage 存储的数据会丢失。

cookie在浏览器和服务器间来回传递。 sessionStorage和localStorage不会

  sessionStorage和localStorage的存储空间更大;

  sessionStorage和localStorage有更多丰富易用的接口;

  sessionStorage和localStorage各自独立的存储空间;

 

 

 

iframe有那些缺点?
*iframe会阻塞主页面的Onload事件;

  *iframe和主页面共享连接池,而浏览器对相同域的连接有限制,所以会影响页面的并行加载。

  使用iframe之前需要考虑这两个缺点。如果需要使用iframe,最好是通过javascript

  动态给iframe添加src属性值,这样可以可以绕开以上两个问题。

 

 

Label的作用是什么?是怎么用的?

  label标签来定义表单控制间的关系,当用户选择该标签时,浏览器会自动将焦点转到和标签相关的表单控件上。

  Number:

  Date:

  HTML5的form如何关闭自动完成功能?

  给不想要提示的 form 或下某个input 设置为autocomplete=off。

 

如何实现浏览器内多个标签页之间的通信? (阿里)

  调用localstorge、cookies等本地存储方式

  webSocket如何兼容低浏览器?(阿里)

Adobe Flash Socket 、 ActiveX HTMLFile (IE) 、 基于 multipart 编码发送 XHR 、 基于长轮询的 XHR

 

 

页面可见性(Page Visibility)API 可以有哪些用途

页面可见性: 就是对于用户来说,页面是显示还是隐藏, 所谓显示的页面,就是我们正在看的页面;隐藏的页面,就是我们没有看的页面。 因为,我们一次可以打开好多标签页面来回切换着,始终只有一个页面在我们眼前,其他页面就是隐藏的,还有一种就是.........,(把浏览器最小化,所有的页面就都不可见了)。

API 很简单,document.hidden 就返回一个布尔值,如果是true, 表示页面可见,false 则表示,页面隐藏。  不同页面之间来回切换,触发visibilitychange事件。 还有一个document.visibilityState, 表示页面所处的状态,取值:visible, hidden 等四个。

 

document.addEventListener("visibilitychange", function(){

    if(document.hidden){

        document.title ="hidden";

    }else {

        document.title = "visibile";

    }

})

 

<div style="height:1px;overflow:hidden;background:#ccc"></div>

 

我们打开这个页面,然后再打开另一个页面,来回点击这两个页面,当我们看到这个页面时,标题显示visiable ,当我们看另一个页面时,标题显示hidden;

动画,视频,音频都可以在页面显示时打开,在页面隐藏时关闭

实现不使用 border 画出1px高的线,在不同浏览器的Quirksmode和CSSCompat模式下都能保持同一效果。

document 有个属性 compatMode 可以用来判断当前页面采用的何种渲染方式: 
  BackCompat – Standards-compliant mode is not switched on. 
  CSS1Compat – Standards-compliant mode is switched on. 
Quirksmode即怪异模式,而css1compat是标准模式 

 

 

网页验证码是干嘛的,是为了解决什么安全问题?

防止恶意注册和暴力破解 所谓恶意注册和暴力破解都是用软件进行的。 人工注册再快,也需要一项一项输入资料,速度很慢,对服务器基本没有影响。如果没有验证码可以使用软件注册的话,可以同时运行成千上万个线程,一次能注册成千上万个用户,让服务器的数据库很快变得臃肿不堪,运行效率下降。 如果一个无聊的人或竞争对手对某网站怀有敌意,那么这种方法很容易就能让对方瘫痪。

 

Quirks模式是什么?它和Standards模式有什么区别

从IE6开始,引入了Standards模式,在写程序时我们也会经常遇到这样的问题,即当某个参数为真时,我们就使用新功能,而如果这个参数 不为真时,就使用旧功能,这样就能不破坏原有的程序,又提供新功能。IE6也是类似 这样做的,它将DTD当成了这个“参数”,因为以前的页面大家都不会去写DTD,所以IE6就假定 如果写了DTD,就意味着这个页面将采用对CSS支持 更好的布局,而如果没有,则采用兼容之前的布局方式。这就是Quirks模式(怪癖模式,诡异模式,怪异模式)

区别:总体会有布局、样式解析和脚本执行三个方面的区别。

盒模型:在W3C标准中,如果设置一个元素的宽度和高度,指的是元素内容的宽度和高度,而在Quirks 模式下,IE的宽度和高度还包含了padding和border。

设置行内元素的高宽:在Standards模式下,给<span>等行内元素设置wdith和height都不会生效,而在quirks模式下,则会生效。

设置百分比的高度:在standards模式下,一个元素的高度是由其包含的内容来决定的,如果父元素没有设置百分比的高度,子元素设置一个百分比的高度 是无效的。

用margin:0 auto设置水平居中:使用margin:0 auto在standards模式下可以使元素水平居中,但在quirks模 式下却会失效

div+css的布局较table布局有什么优点?

改版的时候更方便 只要改css文件。

页面加载速度更快、结构化清晰、页面显示简洁。

表现与结构相分离。

易于优化(seo)搜索引擎更友好,排名更容易靠前

你能描述一下渐进增强和优雅降级之间的不同吗?

渐进增强 progressive enhancement:针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。

优雅降级 graceful degradation:一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。

为什么利用多个域名来存储网站资源会更有效?

CDN缓存更方便

突破浏览器并发限制

节约cookie带宽

节约主域名的连接数,优化页面响应速度

防止不必要的安全问题

 

知道的网页制作会用到的图片格式有哪些?

png-8,png-24,jpeg,gif,svg

但是上面的那些都不是面试官想要的最后答案。面试官希望听到是Webp。(是否有关注新技术,新鲜事物)

科普一下Webp:WebP格式,谷歌(google)开发的一种旨在加快图片加载速度的图片格式。图片压缩体积大约只有JPEG的2/3,并能节省大量的服务器带宽资源和数据空间。Facebook Ebay等知名网站已经开始测试并使用WebP格式。

在质量相同的情况下,WebP格式图像的体积要比JPEG格式图像小40%

 

知道什么是微格式吗?谈谈理解。在前端构建中应该考虑微格式吗?

微格式(Microformats)是一种让机器可读的语义化XHTML词汇的集合,是结构化数据的开放标准。是为特殊应用而制定的特殊格式。

优点:将智能数据添加到网页上,让网站内容在搜索引擎结果界面可以显示额外的提示。(应用范例:豆瓣,有兴趣自行google)

在css/js代码上线之后开发人员经常会优化性能,从用户刷新网页开始,一次js请求一般情况下有哪些地方会有缓存处理?

dns缓存,cdn缓存,浏览器缓存,服务器缓存。

 

一个页面上有大量的图片(大型电商网站),加载很慢,你有哪些方法优化这些图片的加载,给用户更好的体验。

图片懒加载,在页面上的未可视区域可以添加一个滚动条事件,判断图片位置与浏览器顶端的距离与页面的距离,如果前者小于后者,优先加载。

如果为幻灯片、相册等,可以使用图片预加载技术,将当前展示图片的前一张和后一张优先下载。

如果图片为css图片,可以使用CSSsprite,SVGsprite,Iconfont、Base64等技术。

如果图片过大,可以使用特殊编码的图片,加载时会先加载一张压缩的特别厉害的缩略图,以提高用户体验。

如果图片展示区域小于图片的真实大小,则因在服务器端根据业务需要先行进行图片压缩,图片压缩后大小与展示一致

 

谈谈以前端角度出发做好SEO需要考虑什么?

了解搜索引擎如何抓取网页和如何索引网页

Meta标签优化

了解主要的搜索引擎

主要的互联网目录

搜索引擎登录

链接交换和链接广泛度(Link Popularity)

合理的标签使用

 

文字超出显示为省略号

[css] view plain copy

 print?

  1. //单行:  
  2. overflow: hidden;  
  3. text-overflow:ellipsis;  
  4. white-space: nowrap;  
  5. //多行:  
  6. display: -webkit-box;  
  7. -webkit-box-orient: vertical;  
  8. -webkit-line-clamp: 3;  
  9. overflow: hidden;  

HTML5 存储类型有什么区别?

答:Media API、Text Track API、Application Cache API、User Interaction、Data Transfer API、Command API、Constraint Validation API、History API

 

TML5 支持 MP3、Wav 和 Ogg 格式的音频,下面是在网页中嵌入音频的简单示例:

1

2

3

4

<audio controls>

    <source src=”jamshed.mp3″ type=”audio/mpeg”>

    Your browser does’nt support audio embedding feature.

</audio>

 

音频类似,HTML5 支持 MP4、WebM 和 Ogg 格式的视频,下面是简单示例:

1

2

3

4

<video width=”450″ height=”340″ controls>

  <source src=”jamshed.mp4″ type=”video/mp4″>

   Your browser does’nt support video embedding feature.

</video>

 

 

TML5 还有哪些媒体标签?

HTML5 对于多媒体提供了强有力的支持,除了 audio 和 video 标签外,还支持以下标签:

<embed> 标签定义嵌入的内容,比如插件。

1

<embed type=”video/quicktime” src=”Fishing.mov”>

<source> 对于定义多个数据源很有用。

1

2

3

4

<video width=”450″ height=”340″ controls>

     <source src=”jamshed.mp4″ type=”video/mp4″>

     <source src=”jamshed.ogg” type=”video/ogg”>

</video>

<track> 标签为诸如 video 元素之类的媒介规定外部文本轨道。 用于规定字幕文件或其他包含文本的文件,当媒介播放时,这些文件是可见的。

 

HTML5 标准提供了哪些新的 API?

HTML5 提供的应用程序 API 主要有:

Media API

Text Track API

Application Cache API

User Interaction

Data Transfer API

Command API

Constraint Validation API

History API

 

 

HTML5 应用程序缓存和浏览器缓存有什么区别?

应用程序缓存是 HTML5 的重要特性之一,提供了离线使用的功能,让应用程序可以获取本地的网站内容,例如 HTML、CSS、图片以及 JavaScript。这个特性可以提高网站性能,它的实现借助于 manifest 文件,如下:

1

2

3

4

<!doctype html>

<html manifest=”example.appcache”>

…..

</html>

与传统浏览器缓存相比,它不强制用户访问的网站内容被缓存

 

转载于:https://www.cnblogs.com/Guoguomix/p/6534790.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值