• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > HTML5中你不知道的5个新功能

HTML5中你不知道的5个新功能

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含HTML5,新功能等相关知识,匿名希望在学习及工作中可以帮助到您
这篇文章主要为大家详细介绍了不知道的几个HTML5新功能,为大家分享出更多不为人知的HTML5 API,感兴趣的小伙伴们可以参考一下

当你在人群中谈论到“HTML5”,你也许会感觉到,自己像一位异域舞者或独角兽,来到屋子中间,带有明显的“我很酷,我知道它”的意味。这不能说我们虚荣,多少年来,基本的HTML API一直没有任何发展,以至于当有一个小的新功能出现时,例如placeholder,都会让我们露出新奇的眼神。尽管新式的浏览器中实现了很多HTML5特征,但大部分程序员仍对一些小的、非常有用的API不了解或从未听说。本文中我将介绍一些这样的API,并欢迎大家发掘出更多不为人知的HTML5 API!

Element.classList

classList API提供了我们多年来一种使用JavaScript工具库来实现的控制CSS的基本功能:

XML/HTML Code复制内容到剪贴板
// 增加一个CSS类   
myElement.classList.add("newClass");   
  
// 删除一个CSS类   
myElement.classList.remove("existingClass");   
  
// 检查是否拥有一个CSS类   
myElement.classList.contains("oneClass");   
  
// 反转一个CSS类的有无   
myElement.classList.toggle("anotherClass");





这个新出现的API的主要价值体现就是:简单实用。读一下这篇文章,里面介绍了其它几个classList功能特征。

ContextMenu API

这个新的ContextMenu API非常的有用:它并不会替换原有的右键菜单,而是将你的自定义右键菜单添加到浏览器的右键菜单里:

XML/HTML Code复制内容到剪贴板
<section contextmenu="mymenu">  
  
  <!-- 添加菜单 -->  
  <menu type="context" id="mymenu">  
   <menuitem label="Refresh Post" onclick="window.location.reload();" icon="/images/refresh-icon.png"></menuitem>  
   <menu label="Share on..." icon="/images/share_icon.gif">  
     <menuitem label="Twitter" icon="/images/twitter_icon.gif" 
     onclick="goTo('//twitter.com/intent/tweet?text=' + document.title + ':  ' + window.location.href);"></menuitem>  
     <menuitem label="Facebook" icon="/images/facebook_icon16x16.gif" 
     onclick="goTo('//facebook.com/sharer/sharer.php?u=' + window.location.href);"></menuitem>  
   </menu>  
 </menu>  
</section>





需要注意的是,最好使用JavaScript动态的创建这些菜单代码,因为菜单事件最终要调用JavaScript执行任务,如果用户禁止了JavaScript,右键菜单也不会生成,他同时也不会看到菜单。

Element.dataset

使用dataset API,程序员可以方便的获取或设置data-*自定义属性:

XML/HTML Code复制内容到剪贴板
/*  以下面的代码为例   
  
 <p id="myp" data-name="myp" data-id="myId" data-my-custom-key="This is the value"></p>  
  
*/   
  
// 获取元素   
var element = document.getElementById("myp");   
  
// 获取id   
var id = element.dataset.id;   
  
// 读取 "data-my-custom-key" 的值   
var customKey = element.dataset.myCustomKey;   
  
// 修改成其它值   
element.dataset.myCustomKey = "Some other value";   
  
 // 结果是:   
 //    <p id="myp" data-name="myp" data-id="myId" data-my-custom-key="Some other value"></p>





无需多说,跟classList一样,简单实用

window.postMessage API

即使是IE8也对postMessage API支持多年了,postMessage API的功能是可以让你在两个浏览器窗口或iframe之间传递信息数据:

JavaScript Code复制内容到剪贴板
// 从A域上的窗口或iframe,发送一条信息到B域中的窗口或ifame   
var iframeWindow = document.getElementById("iframe").contentWindow;   
iframeWindow.postMessage("来自第一个窗口的问候!");   
  
// 在第二个不同域上的窗口或iframe接收消息   
window.addEventListener("message", function(event) {   
 // 检验域的合法性   
 if(event.origin == "http://www.webhek.com") {   
  // 输出日志信息   
  console.log(event.data);   
  
  // 反馈消息   
  event.source.postMessage("你也好吗!");   
 }   
]);





消息体只能是字符串,但你可以用JSON.stringify和JSON.parse将消息转换成更有意义的数据体!

autofocus属性

autofocus属性能够让BUTTON, INPUT, 或 TEXTAREA元素在页面加载完成时自动成为页面焦点:

XML/HTML Code复制内容到剪贴板
<input autofocus="autofocus" />  
<button autofocus="autofocus">Hi!</button>  
<textarea autofocus="autofocus"></textarea>





在像谷歌搜索页面那样的有固定模式的地方,autofocus属性是最理想的一个功能。

浏览器对各个API的支持稍有不同,所以,在使用前先检查一下对这些特征的支持情况。再花点时间阅读一下各个API的详细说明,相信你会有更多的发现。

以上就是HTML5中你不知道的5个新功能的详细内容,更多请关注微课江湖其它相关文章!

您可能想查找下面的文章:

  • HTML5知识点总结
  • HTML5的本地存储
  • HTML5本地存储之IndexedDB
  • Html5实现文件异步上传功能
  • Html5新标签datalist实现输入框与后台数据库数据的动态匹配
  • 详解HTML5 window.postMessage与跨域
  • HTML5拖放API实现拖放排序的实例代码
  • 解决html5中video标签无法播放mp4问题的办法
  • HTML5新特性 多线程(Worker SharedWorker)
  • Html5新增标签有哪些

相关文章

  • 2018-12-03想做一个H5,想请教一般需要如何构思创意及思路?
  • 2018-12-03为什么有些网站的版权不用&copy;而用©?
  • 2018-12-03html5基础标签(html5视频标签 html5新标签用法)_html5教程技巧
  • 2018-12-03HTML5 Canvas API中drawImage()方法的使用代码实例分享(图)
  • 2018-12-03关于HTML5 Canvas旋转动画的2个例子
  • 2018-12-03HTML怎么导出生成word文档?
  • 2018-12-03HTML5的hidden属性兼容老浏览器的方法_html5教程技巧
  • 2018-12-03Html5大文件断点续传实现方法_html5教程技巧
  • 2017-08-06HTML5 placeholder(空白提示)属性介绍
  • 2018-12-03微信端h5页面如何调用分享页面的接口

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • IDEA如何安装vue开发插件安装图文教程
    • 分享全球十款超强HTML5开发工具
    • canvas API ,通俗的canvas基础知识(六)
    • 淘宝网触屏版为什么rem跟px混用?有什么好处?为什么不都用rem?
    • 使用css如何制作时间ICON方法实践_html5教程技巧
    • HTML5与Qt QML仅从做UI的角度比较,哪个更便捷,哪个更强大,哪个(被渲染)性能更高呢?
    • H5+C3如何展示3D效果的商品信息
    • 带你认识HTML57个混合式移动开发框架
    • H5学习之旅-H5列表(8)
    • 使用phonegap操作数据库的实现方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有