html5 有哪些新特性?移除了哪些元素?如何处理 HTML5 新标签的浏览器兼容性问题?
解析:
如何区分 html 和 html5?
新增的元素有绘画 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 新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?
处理兼容问题有两种方式:
IE8/IE7/IE6 支持通过 document.方法产生的标签,利用这一特性让这些浏览器支持 HTML5
新标签。
使用是 html5shim 框架
另外,DOCTYPE 声明的方式是区分 HTML 和 HTML5 标志的一个重要因素,此外,还可
以根据新增的结构、功能元素来加以区分。
解析:
优点:
用来实现长连接,在 websocket 不可用的时候作为一种替代,最开始由 google
发明。Comet:基于 HTTP 长连接的”服务器推”技术
跨域通信。JavaScript 跨域总结与解决办法 ,类似的还有浏览器多页面通信,
比如音乐播放器,用户如果打开了多个 tab页,应该只有一个在播放。
历史记录管理,解决 ajax 化网站响应浏览器前进后退按钮的方案,在 html5
的 history api 不可用时作为一种替代。
纯前端的 utf8 和 gbk 编码互转。比如在 utf8 页面需要生成一个 gbk 的
encodeURIComponent 字符串,可以通过页面加载一个 gbk 的 iframe,然后主页面与子页面
通信的方式实现转换,这样就不用在页面上插入一个非常巨大的编码映射表文件了
缺点:
在网页中使用框架结构最大的弊病是搜索引擎的”蜘蛛”程序无法解读这种
页面。当”蜘蛛”程序遇到由数个框架组成的网页时,它们只看到框架而 无法找到链接,
因此它们会以为该网站是个死站点,并且很快转身离去。对一个网站来说这无异于一场灾难。
如果你想销售产品,你需要客户;如想得到客户,你首先要让人们访问你的网
站,而要做到这一点,你就非求助于搜索引擎不可。你花费了大量的时间、 精力和金钱开
设了一家网上商店,却又故意不让搜索引擎检索你,这就好象开家零售商店,却将窗户全部
漆成黑色,而且还不挂任何招牌一样。
框架结构有时会让人感到迷惑,特别是在几个框架中都出现上下、左右滚动条
的时候。这些滚动条除了会挤占已经非常有限的页面空间外,还会分散 访问者的注意力。
访问者遇到这种网站往往会立刻转身离开。他们会想,既然你的主页如此混乱,那么网站的
其他部分也许更不值得浏览。
链接导航问题。使用框架结构时,你必须保证正确设置所有的导航链接,如不
然,会给访问者带来很大的麻烦。比如被链接的页面出现在导航框架 内,这种情况下访问
者便被陷住了,因为此时他没有其他地方可去。
解析:
Label 中有两个属性是非常有用的,一个是 FOR、另外一个就是 ACCESSKEY 了。
FOR 属性
功能:表示 Label 标签要绑定的 HTML 元素,你点击这个标签的时候,所绑定的元素将
获取焦点。
用法:<Label FOR=”InputBox”>姓名</Label><input ID=”InputBox” type=”text”>
ACCESSKEY 属性:
功能:表示访问 Label 标签所绑定的元素的热键,当您按下热键,所绑定的元素将获
取焦点。
用法:<Label FOR=”InputBox” ACCESSKEY=”N”>姓名</Label><input ID=”InputBox”
type=”text”>
局限性:accessKey 属性所设置的快捷键不能与浏览器的快捷键冲突,否则将优先激活
浏览器的快捷键。
实现不使用 border,画出 1px 高的线,在不同浏览器下的 Quirksmode 和 CSSCompat 模
解析:
式下都能保持一致的效果?
<div style=”height:1px;overflow:hidden;background:red”></div>
解析:
网页验证码介绍:”验证码”的英文表示为 CAPTCHA(Completely Automated Public Turing test
to tell Computers and Humans Apart),翻译过来就是”全自动区分计算机和人类的图灵测试”,
顾名思义,它是用来区分计算机和人类的。在 CAPTCHA 测试中,作为服务器的计算机会自
动生成一个问题由用户来解答。这个问题可以由计算机生成并评判,但是必须只有人类才能
解答。由于计算机无法解答 CAPTCHA 的问题,所以回答出问题的用户就可以被认为是人类。
CAPTCHA 是由计算机来考人类,而不是标准图灵测试中那样由人类来考计算机,因此人们
有时称 CAPTCHA 是一种反向图灵测试。
验证码的原理:服务器端随机生成验证码字符串,保存在内存中,并写入图片,发送给浏览
器端显示,浏览器端输入验证码图片上字符,然后提交服务器端,提交的字符和服务器端保
存的该字符比较是否一致,一致就继续,否则返回提示。攻击者编写的 robot 程序,很难识
别验证码字符,顺利的完成自动注册,登录;而用户可以识别填写,所以这就实现了阻挡攻
击的作用。而图片的字符识别,就是看图片上的干扰强度了。就实际的效果来说,验证码只
是增加攻击者的难度,而不可能完全的防止。