h5的特点

news/2024/7/18 21:58:48 标签: 爬虫, 网络, javascript

关于HTML面试题汇总之H5

 

一、H5有哪些新特性,移除了哪些元素?如何处理h5新标签的浏览器兼容性问题,如何区分html和html5

1. html5不在是SGL(通用标记语言)的一个子集,而包含了:图像、位置、存储、多任务等功能

2. 新增的图像为canvas类,媒体回放video和audio元素;本地离线存储localStorage,在浏览器关闭后也可以保存数据;而sessionStorage在浏览器关闭后会自动删除数据

3.新增内容标签:article、footer、header、nav、section;新增加表单控件:calendar、date、time、email、url、search;控件元素:webworker、websocket、Geolocation。

4、移除的元素:basefont、big、center、font、s、strike、tt、u等内容修改标签、以及性能较差的frame、frameset、noframes。

5、处理h5新标签浏览器的兼容性问题

   5.1、IE8-可以通过document.createElement来创建标签,并给标签默认的样式和能力
   5.2、也可以引用html5shim框架

6、区分html与html5:主要是通过doctype头、新标签和功能元素。

二、html语义化的好处

1、在样式丢失的情况下,页面呈现的结构也是清晰的

2、屏幕阅读器完全可以根据语义标签来读取内容(如盲人网站)

3、pad、手机可以根据语义标签做不同的处理,如手机上标题显示粗体,而pad上标题显示较大字体

4、对搜索引擎和爬虫的友好

三、iframe优缺点

1、优点

  1.1、在不刷新的情况下重新载入的新的页面;
  1.2、方便用于后台管理,或不用于对搜索引擎友好的系统

2、缺点:

   2.1、不利用搜索引擎,因为爬虫只能看到框架而见不到框架的链接
   2.2、框架有时候会让人迷惑,尤其是多个框架出滚动条的时候
   2.3、不容易打印(暂时只能分框架页的打印,而不能打印整个frameset)
   2.4、浏览器后退按钮无效(他只能后退当前获得光标的iframe)
   2.5、多数pad、手机不支持框架
   2.6、增加http请求
   2.7、iframe会阻塞页面的加载,包含iframe的页面的window.onload事件,只有等待iframe加载完成后才能触发,但可以通过js来动态设置iframe的src属性可以避免这种情况(chrome和safari支持)

3、iframe和frame的区别
  3.1、iframe和frame实现的功能相同;
  3.2、iframe可以单独使用,而frame必须和frameset一起使用
  3.5、在html5中iframe仅支持src属性,而对frameset和frame不在受支持

四、label标签的作用、应用

1、lable标签主要是作为一种标题说明元素存储的,通常有:for关联、以及将form control放在label标签中的方式
2、lable标签主要属性:
   2.1、for属性,做标签关联,但for关联的必须是一个form control标签
   2.2、accesskey属性:用于设置热键,但不能与浏览器热键冲突,否则会先触发浏览器的热键
3、label的嵌套
   3.1、labe标签内不能再嵌套label
   3.2、label只能包含一个input子孙(包含checkbox、text等元素)、button、select、textarea元素
   3.3、label嵌套时,事件的触发遵循冒泡原则

<label id="inputOne" >
    <input id="inputOne_inner" type="button" value="Test" />
</label>
复制代码
<script type="text/javascript">
    $(function(){
        $('#inputOne').click(function(){
            console.log('label.........');
        });
        $('#inputOne_inner').click(function(event){
            event.stopPropagation();
            console.log('input.........')
        });
    });
</script>
复制代码

由于在inputOne_inner的click事件中阻止的冒泡,所以单击时只输出 ‘input……………….’。
   4、for关联
      4.1、for关联,在labe标签上的事件,会触发关联元素的相应事件(并且关联元素的冒泡阻止动作无效):

<label id="labeTow" for="inputTow" >Tow-label</label> <!--labe绑定的事件,会触发关联元素的事件-->
<input id="inputTow" type="button" value="Tow" />
复制代码
<script type="text/javascript">
    $(function(){
        $('#labeTow').click(function(){
            console.log('labelTow.........');
        });
        $('#inputTow').click(function(event){
            event.stopPropagation();
            console.log('inputTow.........');
        });
    });
</script>
复制代码

单击labeTow会做如下输出(label会先触发自身的事件,然后触发关联元素相应的事件):
labelTow…………….
inputTow……………
单击inpuTow会做如输出:
inputTow………….

转载于:https://www.cnblogs.com/520lin/p/5732851.html


http://www.niftyadmin.cn/n/981739.html

相关文章

禁止eclipse校验JavaScript

以往使用eclipse开发项目没有在意js校验的问题&#xff0c;最近开发新项目&#xff0c;发现每次build的时候&#xff0c;js不停的校验&#xff0c;CPU狂飙&#xff0c;build过去就算了&#xff0c;结果每次连eclipse都崩了&#xff0c;看来问题必须要解决。解决方法 打开项目的…

由倒水问题引发出来的对于模线性方程与二元不定方程的思考

今天下课的时候&#xff0c;拿同学手机玩了会游戏&#xff0c;不过很巧&#xff0c;玩的是个倒水的游戏。具体是这样的&#xff0c;相信大家肯定都玩过&#xff1a; 给你两个已知容量的杯子&#xff0c;然后要求在某个杯子中得出指定容量的水。 1、两个杯子分别为7L和4L&#x…

ubuntu 16.04 安装 QQ

需要在Ubuntu 16.04下使用QQ&#xff0c;查找了一下&#xff0c;知乎的办法可行。参考了&#xff1a;http://www.zhihu.com/question/20176925 与 http://www.zhihu.com/question/20176925/answer/28334799 做了实践&#xff0c;成功了。1.先下载和安装wine。sudo apt-get inst…

Table Editor 使用方法

Table Editor 使用方法 适用 sublime text 作用 Table Editor 用于在文档中快速创建整齐好看的表格。 激活 & 关闭 ctrl  shift p输入 Table Editor选择 Enable for current syntax &#xff08;激活&#xff09;或 Disable for current syntax &#xff08;关闭&#xf…

组策略--受限制的组

在组策略中添加 受限制的组 &#xff0c;该组必须是Windows内置组&#xff0c;否则客户端不会应用该组。 如果已经在 客户端计算机的 Event Log Readers组中添加了 用户 testuser1&#xff0c;然后在组策略中添加 受限制的组Event Log Readers&#xff0c;添加用户 testuser2。…

博为峰Java技术文章 ——JavaEE Hibernate实例状态

2019独角兽企业重金招聘Python工程师标准>>> 博为峰小博老师&#xff1a; Hibernate的实例状态分为3种&#xff0c;分别为瞬时状态(Transient)、持久化状态(Persistent)和脱管状态(Detached)。 瞬时状态(Transient) 实体对象是通过Java中的new关键字开辟内存空间创建…

ubuntu-16.04.1-desktop-amd64.iso:ubuntu-16.04.1-desktop-amd64:安装Oracle11gR2

特点&#xff1a; 使用ubuntu-16.04.1-desktop-amd64.iso liveCD模式 Casper-rw 本地文件不降级默认的gcc版本&#xff0c;&#xff08;liveCD 自带默认为 gcc 5.4&#xff09;&#xff1b;仅需要建立“gcc -Wl,--no-as-needed” 的替代sh需要重新安装libaio&#xff08;16.04…

PhoneGap CLI 命令行工具

PhoneGap CLI 用于构建、部署和管理基于PhoneGap的应用(已整合 PhoneGap Build) PhoneGap CLI要求的环境配置&#xff1a; 装有node.js&#xff08;>0.10.x&#xff09;&#xff0c;同时会装上npm装有ios-sim&#xff0c;以分发应用到iOS模拟器安装最新的PhoneGap $ npm in…