分享好友 最新动态首页 最新动态分类 切换频道
7.【多媒体】以前用flash,现在有H5新标签:
2024-12-27 04:01

    <nav>: 导航

7.【多媒体】以前用flash,现在有H5新标签:

<header>: 页眉

<footer>: 页脚

<section>:区块

<article>: 文章

<aside>: 侧边栏

<progress>: 进度条

在不支持HTML5新标签的浏览器里,会将这些新的标签解析成行内元素(inline)对待,所以我们只需要将其转换成块元素(block)即可使用,但是在IE9版本以下,并不能正常解析这些新标签,但是却可以识别通过document.createElement('tagName')创建的自定义标签,于是我们的解决方案就是将HTML5的新标签全部通过document.createElement('tagName')来创建一遍,这样IE低版本也能正常解析HTML5新标签了,但在实际开发中我们更多采用的是通过检测IE浏览器的版本来加载第三方的一个JS库来解决兼容问题,这个库文件会帮自动通过document.createElement('tagName')创建所有HTML5的新标签。

 

微数据是在如 span、div 的标签内添加属性,让机器(如搜索引擎)识别其含义,某些特定类型的信息,例如评论、人物信息或事件都有相应的属性,用来描述其含义,可以理解成新语义标签的一种补充。

WAI-ARIA[1]  , 是Web Accessibility Initiative - Accessible Rich Internet Applications 的缩写,让残障人士能无障碍地访问网页上的动态内容。

<input type="email">:输入邮箱格式         <input type="tel">:输入手机号码格式

<input type="url">:输入url格式 <input type="number">: 数字格式

<input type="search">: 搜索框 <input type="range">: 自由拖动滑块

<input type="color">:拾色器 <input type="time">:

<input type="date">:                       <input type="datetime">:

<input type="month">:                  <input type="week">:

      1.表单元素:

<datalist>: 数据列表    <keygen>: 生成加密字符串

 

<output>:输出结果 <meter>:度量器

 

     2.表单属性:

1.<input type="text" placeholder="请输入用户名">: 占位符

2.<input type="text" autofocus> :自动获得焦点

3.<input type="file" multiple>: 多文件上传

4.<input type="text" autocomplete="off">  自动完成

5.<input type="text" form="某表单ID">

6.<form novalidate></form>: 关闭验证

7.<input type="text" required>: 必填项

8.<input type="text" pattern="d">:自定义验证

1.音频   <audio>

可以通过附加属性可以更友好控制音频的播放,如:

autoplay :自动播放

controls :是否显不默认播放控件

loop :循环播放

 

2.视频  <video>

autoplay :自动播放

controls :是否显示默认播放控件

loop :循环播放

width :设置播放窗口宽度

height :设置播放窗口的高度

 

8.DOM扩展

1.获取元素

1、document.getElementsByClassName ('class') 通过类名获取元素,以伪数组形式存在。

2、document.querySelector('selector') 通过CSS选择器获取元素,符合匹配条件的第1个元素。

3、document.querySelectorAll('selector') 通过CSS选择器获取元素,以伪数组形式存在。

2.类名操作

1、Node.classList.add('class') 添加一个class类名

2、Node.classList.remove('class') 移除一个class类名

3、Node.classList.toggle('class') 切换class,有则移除,无则添加

4、Node.classList.contains('class') 检测是否存在一个class类名

Node指一个有效的DOM节点,是一个通称。

3.自定义属性

格式:data-*="";

例如:data-info="我是自定义属性",通过Node.dataset['info'] 我们可获取到自定义的属性值。

特点:自定义属性全部必须是以data-开头的,只要是符合这种格式就是自定义属性。

Node.dataset是以对象形式存在的,当我们为同一个DOM节点指定了多个自定义属性时,Node.dataset则存储了所有的自定义属性的值。

假设某元素 <div id="demo" data-name="itcast" data-age="10">

var demo = document.querySelector('#demo');

1、读取 demo.dataset['name'] 或者 demo.dataset['age']

2、设置demo.dataset['name'] = 'web developer'

注:当我们如下格式设置时,则需要以驼峰格式才能正确获取

<div data-my-name="lining"> 这样获取Node.dataset['myName']

总结:

1.获取一个DOM节点,并且这个DOM节点定义了一些自定义属性

2.通过Node.dataset,管理/读取/设置自定义属性

3.Node.dataset.属性

4.Node.dataset.属性 = “属性值”

9.新增API

1.网络状态

我们可以通过window.onLine来检测,用户当前的网络状况,返回一个布尔值。

window.online用户网络连接时被调用

window.offline用户网络断开时被调用

2.全屏

HTML5规范允许用户自定义网页上任一元素全屏显示。

1、Node.requestFullScreen() :开启全屏显示

2、Node.cancelFullScreen() :关闭全屏显示

由于其兼容性原因,不同浏览器需要添加前缀如:

webkit内核浏览器:webkitRequestFullScreen、webkitCancelFullScreen,如chrome浏览器。

Gecko内核浏览器:mozRequestFullScreen、mozCancelFullScreen,如火狐浏览器。

3、document.fullScreen:检测当前是否处于全屏

不同浏览器需要添加前缀

document.webkitIsFullScreen、document.mozFullScreen

全屏伪类选择器

:full-screen .box {}、:-webkit-full-screen {}、:moz-full-screen {}

3.文件读取

通过FileReader对象可以读取本地存储的文件,使用 File 对象来指定所要读取的文件或数据。

File对象可以是来自用户在一个 <input> 元素上选择文件后返回的FileList 对象,也可以来自由拖放操作生成的  DataTransfer。

4.FileList对象

由于HTML5中我们可以通过为表单元素添加multiple属性,因此我们通过<input>上传文件后得到的是一个FileList对象(伪数组形式)。

5.FileReader对象

HTML5新增内建对象,可以读取本地文件内容。

var reader = new FileReader; 可以实例化一个对象

实例方法

1、readAsDataURL() 以DataURL形式读取文件

事件监听

onload 当文读取完成时调用

属性

result 文件读取结果

10.拖拽

1.拖拽元素

ondrag 应用于拖拽元素,整个拖拽过程都会调用

ondragstart 应用于拖拽元素,当拖拽开始时调用

ondragleave 应用于拖拽元素,当鼠标离开拖拽元素时调用

ondragend 应用于拖拽元素,当拖拽结束时调用

设置了draggable="true"属性的元素,可以被拖拽了;其中<img>、<a>标签默认是可以被拖拽的;

2.目标元素

ondragenter 应用于目标元素,当拖拽元素进入时调用

ondragover 应用于目标元素,当停留在目标元素上时调用

ondrop 应用于目标元素,当在目标元素上松开鼠标时调用

ondragleave 应用于目标元素,当鼠标离开目标元素时调用

页面中任何一个元素都可以成为目标元素

3.事件监听

根据元素类型不同,需要设置不同的事件监听

11.地理定位

1.获取地理信息

通过IP地址、三维坐标、GPS、Wi-Fi、手机信息等多种方式获取地址信息,如下图对不同获取方式的优缺点进行了比较,浏览器会自动以最优方式去获取用户地理信息。

 

2.隐私

HTML5 Geolocation 规范提供了一套保护用户隐私的机制。必须先得到用户明确许可,才能获取用户的位置信息。

3.API详解

1、获取当前地理信息

navigator. geolocation.getCurrentPosition(successCallback, errorCallback, options) ;

2、重复获取当前地理信息

navigator. geolocation.watchPosition(successCallback, errorCallback, options);

当成功获取地理信息后,会调用succssCallback,并返回一个包含位置信息的对象position。

position.coords.latitude纬度

position.coords.longitude经度

position.coords.accuracy精度

position.coords.altitude海拔高度

当获取地理信息失败后,会调用errorCallback,并返回错误信息error

可选参数 options 对象可以调整位置信息数据收集方式

a) enableHighAccuracy 高精度模式  true/false

b) timeout 超时设置,单位为ms

c) maximumAge表示浏览器重新获取位置信息的时间间隔,单位为ms

navgator.geoloation.getcurrentPosition(success,error,{

enableHighAccuracy: true;

timeout : 3000

 maximumAge: 1000

});

12.应用

在现实开发中,把获得到的客户的具体信息当做参数通过调用第三方API(如百度地图)来实现地理定位信息,这些API都是基于用户当前位置的,并将用位置位置(经/纬度)当做参数传递,就可以实现相应的功能。

13.历史管理

提供window.history,对象我们可以管理历史记录,可用于单页面应用,Single Page Application,可以无刷新改变网页内容。

1.旧版本

history.back() 回退

history.forward() 前进

history.go(n) 前进/后退n步

history.length历史记录条数

2.新增方法

1、pushState(data, title, url) 追加一条历史记录

data用于存储自定义数据,通常设为null

title网页标题,基本上没有被支持,一般设为空

url 以当前域为基础增加一条历史记录,不可跨域设置

2、replaceState(data, title, url)

与pushState()基本相同,不同之处在于replaceState(),只是替换当前url,不会增加/减少历史记录。

14.事件监听

onpopstate事件,当前进或后退时则触发,通过事件对象ev.state可以读取到存储的数据。

15.Web存储

传统:document.cookie来存储:

缺点:存储大小只有4k左右,并且解析也相当的复杂,给开发带来诸多不便;

H5新增:

 1.window.sessionStorage:

特性:

1、生命周期为关闭浏览器窗口

2、在同一个窗口下数据可以共享

 2.window.localStorage:

特性:

1、永久生效,除非手动删除

2、可以多窗口共享

以上两者的特性:

1、设置、读取方便

2、容量较大,sessionStorage约5M、localStorage约20M

4、只能存储字符串,可以将对象JSON.stringify() 编码后存储

16.方法详解

setItem(key, value) 设置存储内容

getItem(key) 读取存储内容

removeItem(key) 删除键值为key的存储内容

clear() 清空所有存储内容

key(n) 以索引值来获取存储内容

17.其它

WebSQL、IndexDB

18.应用缓存

HTML5中我们可以轻松的构建一个离线(无网络状态)应用,只需要创建一个cache manifest文件。

1、可配置需要缓存的资源

2、网络无连接应用仍可用

3、本地读取缓存资源,提升访问速度,增强用户体验

4、减少请求,缓解服务器负担

一个普通文本文件,其中列出了浏览器应缓存以供离线访问的资源,推荐使用.appcache为后缀名,添加MIME类型

AddType text/cache-manifest .appcache

例如我们创建了一个名为demo.appcache的文件,然后在需要应用缓存在页面的根元素(html)添加属性manifest="demo.appcache",路径要保证正确。

1、顶行写CACHE MANIFEST

2、CACHE: 换行 指定我们需要缓存的静态资源,如.css、image、js等

3、NETWORK: 换行 指定需要在线访问的资源,可使用通配符

4、FALLBACK: 换行 当被缓存的文件找不到时的备用资源

19.其它

1、CACHE: 可以省略,这种情况下将需要缓存的资源写在CACHE MANIFEST

2、可以指定多个CACHE: NETWORK: FALLBACK:,无顺序限制

3、#表示注释,只有当demo.appcache文件内容发生改变时或者手动清除缓存后,才会重新缓存。

4、chrome 可以通过chrome://appcache-internals/工具和离线(offline)模式来调试管理应用缓存

方法:load()、play()、pause()

属性:currentSrc、currentTime、duration

事件:ontimeupdate,onended等

最新文章
Python ML常用库安装-详细滴
官网:tensorflow官网 1.CPU版本:2.GPU版本:安装预览版本(非稳定版本):3.导入(import)tensorflow出现DDL问题: vc_redist.x64.exe地址:下载地址 4.tensorflow的GPU版本前置cuda和cudnn要求:
韵云电脑软件,一款实用好用的云电脑选择
江山如画,云间电脑,仙子何方?试问世间,哪款软件,独领风骚?千古兴亡,岁月如梭,电子云舟,载我前行,欲觅良伴,指点江山,谈笑风生,今吾赋诗,以颂云电脑之佳选。吾观软件,犹如明珠,光华四射,首选“华为云电脑”,此乃国产之瑰宝
黄鹤楼(硬)红景天多少钱一包 黄鹤楼硬红景天价格
黄鹤楼红景天源自于西藏,相信很多朋友都见过了也抽过了,藏烟只接触过一次黄鹤楼的红景天,感觉还是不错的,黄鹤楼(硬)红景天多少钱一包?下面香烟网小编为大家整理介绍目前市面上现有的两款黄鹤楼硬红景天价格。黄鹤楼硬红景天价格1、黄鹤
指导大家微信红包透视专用开挂神器玩家必备神器
亲,天天麻将这款游戏可以开挂的,确实是有挂的,很多玩家在天天麻将这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到-人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏确实是有挂的,添加客服微
全国性服务低成本付费投流广告推荐 汽车投流 专属定制
  信息流付费获客是一种营销策略,通过在信息流平台上购买广告位或推广服务,向用户展示相关的内容,从而吸引用户点击和转化为付费用户。  在进行信息流付费获客时,可以选择以下几种方式:  1. 广告投放:在信息流平台上购买广告位
许冠文黄子华打破戏路,口碑港片《破·地狱》如何“破”题生死?
一个专拍喜剧的导演陈茂贤,两代“喜剧之神”许冠文和黄子华,却合力拍出一部严肃讨论生死话题的电影《破·地狱》。电影从半路出家的殡仪经纪魏道生(黄子华 饰)和古板守旧的喃呒师傅郭文(许冠文 饰)的故事中观照人生,带出对生命和死亡
高效流量入口攻略,引流搭建实用指南
本指南提供引流搭建的实用步骤,助你打造高效流量入口。涵盖选择、优化内容、利用SEO策略、社交媒体推广等多方面技巧,确保吸引目标用户,提升流量率。方向精炼架构搜索引擎优化(SEO)策略社交媒体营销推广邮件营销策略数据驱动分析与持续
搭建专业从零开始攻略
从零搭建专业,首先选择合适的建设,如WordPress,购买域名和主机。安装并配置,设计布局,添加内容,优化SEO,最后进行与。整个过程中需关注用户体验和搜索引擎优化,确保既美观又实用。挑选理想的主机购置主机配置主机提升性能与更新在数
微信视频号平台广告投放怎么做
微信视频号平台广告投放怎么做创意的力量无处不在,而微信视频号平台正是展示和传播创意的juejia平台。作为广州博辉网络技术有限公司,我们专注于今日头条巨量引擎、快手磁力智投和磁力金牛、小红书、广点通以及视频号等等信息流广告投放开
又双叒叕拿奖!移动云闪耀2024全球数字经济大会
近日,由全球数字经济大会组委会主办,中国信息通信研究院(以下简称“中国信通院”)、中国通信企业协会承办的2024全球数字经济大会云·AI·计算国际合作论坛在京召开,大会全面围绕产业发展、关键技术、最佳实践等展开交流讨论,为全球数
相关文章
推荐文章
发表评论
0评