22个HTML5 技巧三
16. 视频支持
音频元素audio>非常像,在新的浏览器上也支持HTML5视频。事实上,就在最近YouTube宣布了一项新的 HTML5视频嵌入。可惜的是,由于HTML5说明文件并没有为视频指出某个特定的编码器,所以都主要取决于浏览器来决定了。尽管Safari和IE9可以支持H.264 格式的视频,Firefox 和Opera却仍然坚持Theora 和Vorbis格式。因此,显示HTML5视频的时候,你必须提供两种格式。
17. 视频预先加载
你首先需要决定是否需要浏览器来预先加载视频。是否有需要?假设,一个访客进入某个专门用来显示视频的页面,那么就非常有必要预先加载这个页面节省一点等待的时间。你可以通过设置 preload=”preload”来预先加载视频,或者之间添加preload也可以。
video preload>
…
/video>
18. 显示控件
你可能已经注意到,用上面的代码的话,视频将只会显示成一个图片,而没有任何可控制的元件。为了获取这些播放控件,我们必需在视频元素里指定这些控件属性。
video preload controls>
…
/video>
19. 正则表达式
对亏了新模式的属性,我们可以直接在代码中插入一个正则表达式。
form method=post action=”">
label for=”username”>create a username:
input id=”username” type=”text” name=”username” placeholder=”4>
button type=”submit”>Go
如果你比较熟悉正则表达式的话就会注意到这个新模式: [A-Za-z]{4,10}只接受大小写字母。这个字符串最少必需有四个字符,最多是十个字符。
20. 检测浏览器对属性的支持
前面提到过并非所有的浏览器都支持这些属性,那是否有什么方法能够判断浏览器是否能够识别它们呢?这个问题问得非常好,这里给大家介绍两种方式,第一个选择是使用Modernizr来检测,或者你也可以创建并剖析这些元素来看看浏览器都有什么能力。例如,在前面的例子里,如果我们要确定浏览器是否能够执行pattern属性,就可以在页面上添加JavaScript:
alert( ’pattern’ in document.createElement(‘input’) ) // boolean;
实际上,这是确定浏览器兼容性的一种非常常用的方法。jQuery库利用了这个技巧。上面的代码里,我们创建了一个新的输入元素,并确认pattern属性是否能够被识别。如果能够识别的话,浏览器就支持这个功能,否则就不支持。
script>
if (!’pattern’ in document.createElement(‘input’) ) {
// do client/server side validation
}
/script>
记住,这将需要依靠 JavaScript来实现!
21. Mark元素
mark>元素的主要功能就是在页面中高亮显示那些需要在视觉上向用户突出其重要性的文字。包裹在此标签里的字符串必须与用户当前的行为相关。例如,如果我在一些博客中搜索"Open your Mind" ,我可以使用在&mark&标签里使用JavaScript 来包裹每一次动作。
h3> search results /h3>
h6> They were interrupted, just after Quato said, ”Open your Mind”.
22. 何时使用
是否还需要使用
推荐阅读
-
[js高手之路] html5 canvas系列教程 - arcTo(弧度与二次,三次贝塞尔曲线以及在线工具)
-
js中设置元素class的三种方法小结_javascript技巧
-
HTML5实战与剖析之原生拖拽(三dataTransfer对象)
-
PHP获取文件后缀名的三个函数_php技巧
-
php实现递归的三种基本方式_php技巧
-
HTML5 CSS3新的WEB标准和浏览器支持_html5教程技巧
-
html5指南-3.如何实现html元素拖拽功能_html5教程技巧
-
HTML5 b和i标记将被赋予真正的语义_html5教程技巧
-
关于HTML5你必须知道的28个新特性,新技巧以及新技术_html5教程技巧
-
html5适合移动应用开发的12大特性_html5教程技巧