﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-qileilove-文章分类-HTML5</title><link>http://www.blogjava.net/qileilove/category/54258.html</link><description>不想做屌丝的码农，不是好项目经理！屌丝生涯从此开始！</description><language>zh-cn</language><lastBuildDate>Tue, 15 Apr 2014 22:32:10 GMT</lastBuildDate><pubDate>Tue, 15 Apr 2014 22:32:10 GMT</pubDate><ttl>60</ttl><item><title>HTML 参考手册</title><link>http://www.blogjava.net/qileilove/articles/412473.html</link><dc:creator>顺其自然EVO</dc:creator><author>顺其自然EVO</author><pubDate>Tue, 15 Apr 2014 09:50:00 GMT</pubDate><guid>http://www.blogjava.net/qileilove/articles/412473.html</guid><wfw:comment>http://www.blogjava.net/qileilove/comments/412473.html</wfw:comment><comments>http://www.blogjava.net/qileilove/articles/412473.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/qileilove/comments/commentRss/412473.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/qileilove/services/trackbacks/412473.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 按字母顺序排列New&nbsp;: HTML5 中的新标签。标签描述&lt;!--...--&gt;定义注释。&lt;!DOCTYPE&gt;&nbsp;定义文档类型。&lt;a&gt;定义锚。&lt;abbr&gt;定义缩写。&lt;acronym&gt;定义只取首字母的缩写。&lt;address&gt;定义文档作者或拥有者的联系信息。&lt;applet&gt;不赞成使用。定义嵌入的 app...&nbsp;&nbsp;<a href='http://www.blogjava.net/qileilove/articles/412473.html'>阅读全文</a><img src ="http://www.blogjava.net/qileilove/aggbug/412473.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/qileilove/" target="_blank">顺其自然EVO</a> 2014-04-15 17:50 <a href="http://www.blogjava.net/qileilove/articles/412473.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML5 表单属性</title><link>http://www.blogjava.net/qileilove/articles/412326.html</link><dc:creator>顺其自然EVO</dc:creator><author>顺其自然EVO</author><pubDate>Fri, 11 Apr 2014 10:42:00 GMT</pubDate><guid>http://www.blogjava.net/qileilove/articles/412326.html</guid><wfw:comment>http://www.blogjava.net/qileilove/comments/412326.html</wfw:comment><comments>http://www.blogjava.net/qileilove/articles/412326.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/qileilove/comments/commentRss/412326.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/qileilove/services/trackbacks/412326.html</trackback:ping><description><![CDATA[<div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>HTML5 的新的表单属性</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">本章讲解涉及 &lt;form&gt; 和 &lt;input&gt; 元素的新属性。</p><h3>新的 form 属性：</h3><ul style="margin: 10px 0px 0px 35px; padding: 0px; border: 0px;"><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">autocomplete</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">novalidate</li></ul><h3>新的 input 属性：</h3><ul style="margin: 10px 0px 0px 35px; padding: 0px; border: 0px;"><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">autocomplete</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">autofocus</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">form</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">form overrides (formaction, formenctype, formmethod, formnovalidate, formtarget)</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">height 和 width</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">list</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">min, max 和 step</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">multiple</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">pattern (regexp)</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">placeholder</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">required</li></ul></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>浏览器支持</h2><table style="margin: 10px 0px 0px; padding: 0px; border-style: solid; border-color: #aaaaaa; border-collapse: collapse; width: 709.0908813476563px;"><tbody style="margin: 0px; padding: 0px; border: 0px;"><tr style="margin: 0px; padding: 0px; border: 0px;"><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 156.36363220214844px;">Input type</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 85.45454406738281px;">IE</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 85.45454406738281px;">Firefox</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 85.45454406738281px;">Opera</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 85.45454406738281px;">Chrome</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 85.45454406738281px;">Safari</th></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">autocomplete</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">8.0</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">3.5</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">9.5</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">3.0</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">4.0</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">autofocus</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">10.0</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">3.0</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">4.0</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">form</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">9.5</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">form overrides</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">10.5</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">height and width</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">8.0</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">3.5</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">9.5</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">3.0</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">4.0</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">list</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">9.5</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">min, max and step</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">9.5</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">3.0</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">multiple</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">3.5</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">3.0</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">4.0</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">novalidate</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">pattern</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">9.5</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">3.0</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">placeholder</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">3.0</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">3.0</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">required</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">9.5</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">3.0</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td></tr></tbody></table></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>autocomplete 属性</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">autocomplete 属性规定 form 或 input 域应该拥有自动完成功能。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">注释：</span>autocomplete 适用于 &lt;form&gt; 标签，以及以下类型的 &lt;input&gt; 标签：text, search, url, telephone, email, password, datepickers, range 以及 color。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">当用户在自动完成域中开始输入时，浏览器应该在该域中显示填写的选项：</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;form action="demo_form.asp" method="get" <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">autocomplete="on"</code>&gt; First name: &lt;input type="text" name="fname" /&gt;&lt;br /&gt; Last name: &lt;input type="text" name="lname" /&gt;&lt;br /&gt; E-mail: &lt;input type="email" name="email" <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">autocomplete="off"</code> /&gt;&lt;br /&gt; &lt;input type="submit" /&gt; &lt;/form&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_form_autocomplete" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">注释：</span>在某些浏览器中，您可能需要启用自动完成功能，以使该属性生效。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>autofocus 属性</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">autofocus 属性规定在页面加载时，域自动地获得焦点。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">注释：</span>autofocus 属性适用于所有 &lt;input&gt; 标签的类型。</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">User name: &lt;input type="text" name="user_name"  <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">autofocus="autofocus"</code> /&gt;</pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_form_autofocus" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>form 属性</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">form 属性规定输入域所属的一个或多个表单。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">注释：</span>form 属性适用于所有 &lt;input&gt; 标签的类型。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">form 属性必须引用所属表单的 id：</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;form action="demo_form.asp" method="get" <span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">id="user_form"</span>&gt; First name:&lt;input type="text" name="fname" /&gt; &lt;input type="submit" /&gt; &lt;/form&gt; Last name: &lt;input type="text" name="lname" <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">form="user_form"</code> /&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_form_form" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">注释：</span>如需引用一个以上的表单，请使用空格分隔的列表。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>表单重写属性</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">表单重写属性（form override attributes）允许您重写 form 元素的某些属性设定。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">表单重写属性有：</p><ul style="margin: 10px 0px 0px 35px; padding: 0px; border: 0px;"><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">formaction - 重写表单的 action 属性</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">formenctype - 重写表单的 enctype 属性</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">formmethod - 重写表单的 method 属性</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">formnovalidate - 重写表单的 novalidate 属性</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">formtarget - 重写表单的 target 属性</li></ul><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">注释：</span>表单重写属性适用于以下类型的 &lt;input&gt; 标签：submit 和 image。</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;form action="demo_form.asp" method="get" id="user_form"&gt; E-mail: &lt;input type="email" name="userid" /&gt;&lt;br /&gt; &lt;input type="submit" value="Submit" /&gt; &lt;br /&gt; &lt;input type="submit" <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">formaction="demo_admin.asp"</code> value="Submit as admin" /&gt; &lt;br /&gt; &lt;input type="submit" <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">formnovalidate="true"</code> value="Submit without validation" /&gt; &lt;br /&gt; &lt;/form&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_form_override" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">注释：</span>这些属性对于创建不同的提交按钮很有帮助。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>height 和 width 属性</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">height 和 width 属性规定用于 image 类型的 input 标签的图像高度和宽度。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">注释：</span>height 和 width 属性只适用于 image 类型的 &lt;input&gt; 标签。</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;input type="image" src="img_submit.gif" <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">width="99"</code> <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">height="99"</code> /&gt;</pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_form_height_width" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>list 属性</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">list 属性规定输入域的 datalist。datalist 是输入域的选项列表。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">注释：</span>list 属性适用于以下类型的 &lt;input&gt; 标签：text, search, url, telephone, email, date pickers, number, range 以及 color。</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">Webpage: &lt;input type="url" <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">list="url_list"</code> name="link" /&gt; &lt;datalist <span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">id="url_list"</span>&gt; &lt;option label="W3Schools" value="http://www.w3school.com.cn" /&gt; &lt;option label="Google" value="http://www.google.com" /&gt; &lt;option label="Microsoft" value="http://www.microsoft.com" /&gt; &lt;/datalist&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_form_datalist" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>min、max 和 step 属性</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">min、max 和 step 属性用于为包含数字或日期的 input 类型规定限定（约束）。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">max 属性规定输入域所允许的最大值。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">min 属性规定输入域所允许的最小值。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">step 属性为输入域规定合法的数字间隔（如果 step="3"，则合法的数是 -3,0,3,6 等）。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">注释：</span>min、max 和 step 属性适用于以下类型的 &lt;input&gt; 标签：date pickers、number 以及 range。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">下面的例子显示一个数字域，该域接受介于 0 到 10 之间的值，且步进为 3（即合法的值为 0、3、6 和 9）：</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">Points: &lt;input type="number" name="points" <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">min="0"</code> <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">max="10"</code> <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">step="3"</code> /&gt;</pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_form_min_max_step" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>multiple 属性</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">multiple 属性规定输入域中可选择多个值。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">注释：</span>multiple 属性适用于以下类型的 &lt;input&gt; 标签：email 和 file。</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">Select images: &lt;input type="file" name="img" <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">multiple="multiple"</code> /&gt;</pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_form_multiple" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>novalidate 属性</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">novalidate 属性规定在提交表单时不应该验证 form 或 input 域。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">注释：</span>novalidate 属性适用于 &lt;form&gt; 以及以下类型的 &lt;input&gt; 标签：text, search, url, telephone, email, password, date pickers, range 以及 color.</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;form action="demo_form.asp" method="get" <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">novalidate="true"</code>&gt; E-mail: &lt;input type="email" name="user_email" /&gt; &lt;input type="submit" /&gt; &lt;/form&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_form_novalidate" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>pattern 属性</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">pattern 属性规定用于验证 input 域的模式（pattern）。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">模式（pattern） 是正则表达式。您可以在我们的&nbsp;<a href="http://www.w3school.com.cn/js/index.asp" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">JavaScript 教程</a>中学习到有关正则表达式的内容。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">注释：</span>pattern 属性适用于以下类型的 &lt;input&gt; 标签：text, search, url, telephone, email 以及 password。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">下面的例子显示了一个只能包含三个字母的文本域（不含数字及特殊字符）：</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">Country code: &lt;input type="text" name="country_code" <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">pattern="[A-z]{3}"</code> title="Three letter country code" /&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_form_pattern" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>placeholder 属性</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">placeholder 属性提供一种提示（hint），描述输入域所期待的值。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">注释：</span>placeholder 属性适用于以下类型的 &lt;input&gt; 标签：text, search, url, telephone, email 以及 password。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">提示（hint）会在输入域为空时显示出现，会在输入域获得焦点时消失：</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;input type="search" name="user_search"  <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">placeholder="Search W3School"</code> /&gt;</pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_form_placeholder" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>required 属性</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">required 属性规定必须在提交之前填写输入域（不能为空）。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">注释：</span>required 属性适用于以下类型的 &lt;input&gt; 标签：text, search, url, telephone, email, password, date pickers, number, checkbox, radio 以及 file。</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">Name: &lt;input type="text" name="usr_name" <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">required="required"</code> /&gt;</pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_form_required" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p></div><img src ="http://www.blogjava.net/qileilove/aggbug/412326.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/qileilove/" target="_blank">顺其自然EVO</a> 2014-04-11 18:42 <a href="http://www.blogjava.net/qileilove/articles/412326.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML5 表单元素</title><link>http://www.blogjava.net/qileilove/articles/412325.html</link><dc:creator>顺其自然EVO</dc:creator><author>顺其自然EVO</author><pubDate>Fri, 11 Apr 2014 10:36:00 GMT</pubDate><guid>http://www.blogjava.net/qileilove/articles/412325.html</guid><wfw:comment>http://www.blogjava.net/qileilove/comments/412325.html</wfw:comment><comments>http://www.blogjava.net/qileilove/articles/412325.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/qileilove/comments/commentRss/412325.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/qileilove/services/trackbacks/412325.html</trackback:ping><description><![CDATA[<div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>HTML5 的新的表单元素：</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">HTML5 拥有若干涉及表单的元素和属性。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">本章介绍以下新的表单元素：</p><ul style="margin: 10px 0px 0px 35px; padding: 0px; border: 0px;"><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">datalist</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">keygen</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">output</li></ul></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>浏览器支持</h2><table style="margin: 10px 0px 0px; padding: 0px; border-style: solid; border-color: #aaaaaa; border-collapse: collapse; width: 709.0908813476563px;"><tbody style="margin: 0px; padding: 0px; border: 0px;"><tr style="margin: 0px; padding: 0px; border: 0px;"><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 156.36363220214844px;">Input type</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 85.45454406738281px;">IE</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 85.45454406738281px;">Firefox</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 85.45454406738281px;">Opera</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 85.45454406738281px;">Chrome</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 85.45454406738281px;">Safari</th></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">datalist</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">9.5</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">keygen</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">10.5</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">3.0</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">output</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">9.5</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">No</span></td></tr></tbody></table></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>datalist 元素</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">datalist 元素规定输入域的选项列表。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">列表是通过 datalist 内的 option 元素创建的。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">如需把 datalist 绑定到输入域，请用输入域的 list 属性引用 datalist 的 id：</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">Webpage: &lt;input type="url" <span style="margin: 0px; padding: 0px; border: 0px; color: #dd0000;">list="url_list"</span> name="link" /&gt; <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">&lt;datalist id="url_list"&gt;</code> &lt;option label="W3School" value="http://www.W3School.com.cn" /&gt; &lt;option label="Google" value="http://www.google.com" /&gt; &lt;option label="Microsoft" value="http://www.microsoft.com" /&gt; <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">&lt;/datalist&gt;</code> </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_form_datalist" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold; color: #ff9955;">提示：</span>option 元素永远都要设置 value 属性。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>keygen 元素</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">keygen 元素的作用是提供一种验证用户的可靠方法。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">keygen 元素是密钥对生成器（key-pair generator）。当提交表单时，会生成两个键，一个是私钥，一个公钥。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">私钥（private key）存储于客户端，公钥（public key）则被发送到服务器。公钥可用于之后验证用户的客户端证书（client certificate）。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">目前，浏览器对此元素的糟糕的支持度不足以使其成为一种有用的安全标准。</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;form action="demo_form.asp" method="get"&gt; Username: &lt;input type="text" name="usr_name" /&gt; Encryption: <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">&lt;keygen name="security" /&gt;</code> &lt;input type="submit" /&gt; &lt;/form&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_form_keygen" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>output 元素</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">output 元素用于不同类型的输出，比如计算或脚本输出：</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;output id="result" onforminput="resCalc()"&gt;&lt;/output&gt;</pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_form_output" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p></div><img src ="http://www.blogjava.net/qileilove/aggbug/412325.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/qileilove/" target="_blank">顺其自然EVO</a> 2014-04-11 18:36 <a href="http://www.blogjava.net/qileilove/articles/412325.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML 5 服务器发送事件</title><link>http://www.blogjava.net/qileilove/articles/412246.html</link><dc:creator>顺其自然EVO</dc:creator><author>顺其自然EVO</author><pubDate>Thu, 10 Apr 2014 08:06:00 GMT</pubDate><guid>http://www.blogjava.net/qileilove/articles/412246.html</guid><wfw:comment>http://www.blogjava.net/qileilove/comments/412246.html</wfw:comment><comments>http://www.blogjava.net/qileilove/articles/412246.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/qileilove/comments/commentRss/412246.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/qileilove/services/trackbacks/412246.html</trackback:ping><description><![CDATA[<div id="intro" style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><p style="margin: 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: 微软雅黑; font-size: 14px; font-weight: 800;">HTML5 服务器发送事件（server-sent event）允许网页获得来自服务器的更新。</span></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>Server-Sent 事件 - 单向消息传递</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">Server-Sent 事件指的是网页自动获取来自服务器的更新。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">以前也可能做到这一点，前提是网页不得不询问是否有可用的更新。通过服务器发送事件，更新能够自动到达。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">例子：Facebook/Twitter 更新、估价更新、新的博文、赛事结果等。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>浏览器支持</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">所有主流浏览器均支持服务器发送事件，除了 Internet Explorer。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>接收 Server-Sent 事件通知</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">EventSource 对象用于接收服务器发送事件通知：</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">var source=new EventSource("demo_sse.php"); source.onmessage=function(event)   {   document.getElementById("result").innerHTML+=event.data + "&lt;br /&gt;";   }; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_sse" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">例子解释：</p><ul style="margin: 10px 0px 0px 35px; padding: 0px; border: 0px;"><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">创建一个新的 EventSource 对象，然后规定发送更新的页面的 URL（本例中是 "demo_sse.php"）</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">每接收到一次更新，就会发生 onmessage 事件</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">当 onmessage 事件发生时，把已接收的数据推入 id 为 "result" 的元素中</li></ul></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>检测 Server-Sent 事件支持</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">在上面的 TIY 实例中，我们编写了一段额外的代码来检测服务器发送事件的浏览器支持情况：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">if(typeof(EventSource)!=="undefined")   {   <span style="margin: 0px; padding: 0px; border: 0px; color: #999999;">// Yes! Server-sent events support!   // Some code.....</span>   } else   {   <span style="margin: 0px; padding: 0px; border: 0px; color: #999999;">// Sorry! No server-sent events support..</span>   } </pre></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>服务器端代码实例</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">为了让上面的例子可以运行，您还需要能够发送数据更新的服务器（比如 PHP 和 ASP）。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">服务器端事件流的语法是非常简单的。把 "Content-Type" 报头设置为 "text/event-stream"。现在，您可以开始发送事件流了。</p><h3>PHP 代码 (demo_sse.php)：</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;?php header('Content-Type: text/event-stream'); header('Cache-Control: no-cache');  $time = date('r'); echo "data: The server time is: {$time}\n\n"; flush(); ?&gt; </pre><h3>ASP 代码 (VB) (demo_sse.asp):</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;% Response.ContentType="text/event-stream" Response.Expires=-1 Response.Write("data: " &amp; now()) Response.Flush() %&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">代码解释：</p><ul style="margin: 10px 0px 0px 35px; padding: 0px; border: 0px;"><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">把报头 "Content-Type" 设置为 "text/event-stream"</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">规定不对页面进行缓存</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">输出发送日期（始终以 "data: " 开头）</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">向网页刷新输出数据</li></ul></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>EventSource 对象</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">在上面的例子中，我们使用 onmessage 事件来获取消息。不过还可以使用其他事件：</p><table style="margin: 10px 0px 0px; padding: 0px; border-style: solid; border-color: #aaaaaa; border-collapse: collapse; width: 709.0908813476563px;"><tbody style="margin: 0px; padding: 0px; border: 0px;"><tr style="margin: 0px; padding: 0px; border: 0px;"><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5;">事件</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5;">描述</th></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">onopen</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">当通往服务器的连接被打开</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">onmessage</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">当接收到消息</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">onerror</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">当错误发生</td></tr></tbody></table></div><img src ="http://www.blogjava.net/qileilove/aggbug/412246.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/qileilove/" target="_blank">顺其自然EVO</a> 2014-04-10 16:06 <a href="http://www.blogjava.net/qileilove/articles/412246.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML 5 Web Workers</title><link>http://www.blogjava.net/qileilove/articles/412244.html</link><dc:creator>顺其自然EVO</dc:creator><author>顺其自然EVO</author><pubDate>Thu, 10 Apr 2014 08:01:00 GMT</pubDate><guid>http://www.blogjava.net/qileilove/articles/412244.html</guid><wfw:comment>http://www.blogjava.net/qileilove/comments/412244.html</wfw:comment><comments>http://www.blogjava.net/qileilove/articles/412244.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/qileilove/comments/commentRss/412244.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/qileilove/services/trackbacks/412244.html</trackback:ping><description><![CDATA[<h1></h1><div id="intro" style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><p style="margin: 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: 微软雅黑; font-size: 14px; font-weight: 800;">web worker 是运行在后台的 JavaScript，不会影响页面的性能。</span></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>什么是 Web Worker？</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">当在 HTML 页面中执行脚本时，页面的状态是不可响应的，直到脚本已完成。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">web worker 是运行在后台的 JavaScript，独立于其他脚本，不会影响页面的性能。您可以继续做任何愿意做的事情：点击、选取内容等等，而此时 web worker 在后台运行。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>浏览器支持</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">所有主流浏览器均支持 web worker，除了 Internet Explorer。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>HTML5 Web Workers 实例</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">下面的例子创建了一个简单的 web worker，在后台计数：</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">计数：<output id="result" style="margin: 0px; padding: 0px; border: 0px; font-weight: bold; font-size: 12px; line-height: normal; font-family: Verdana, Arial, Helvetica, sans-serif; color: #0000cc;"></output></p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><button style="margin: 15px 0px 0px; padding: 0px 5px; border: 1px solid #bebebe; height: 30px; font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif;">启动 Worker</button>&nbsp;<button style="margin: 15px 0px 0px; padding: 0px 5px; border: 1px solid #bebebe; height: 30px; font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif;">停止 Worker</button></p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_webworker" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>检测 Web Worker 支持</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">在创建 web worker 之前，请检测用户的浏览器是否支持它：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">if(typeof(Worker)!=="undefined")   {   // Yes! Web worker support!   // Some code.....   } else   {   // Sorry! No Web Worker support..   } </pre></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>创建 web worker 文件</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">现在，让我们在一个外部 JavaScript 中创建我们的 web worker。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">在这里，我们创建了计数脚本。该脚本存储于 "demo_workers.js" 文件中：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">var i=0;  function timedCount() { i=i+1; <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">postMessage(i);</code> setTimeout("timedCount()",500); }  timedCount(); </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">以上代码中重要的部分是&nbsp;<span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">postMessage()</span>&nbsp;方法 - 它用于向 HTML 页面传回一段消息。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">注释：</span>web worker 通常不用于如此简单的脚本，而是用于更耗费 CPU 资源的任务。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>创建 Web Worker 对象</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">我们已经有了 web worker 文件，现在我们需要从 HTML 页面调用它。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">下面的代码检测是否存在 worker，如果不存在，- 它会创建一个新的 web worker 对象，然后运行 "demo_workers.js" 中的代码：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">if(typeof(w)=="undefined")   {   w=new Worker("demo_workers.js");   } </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">然后我们就可以从 web worker 发生和接收消息了。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">向 web worker 添加一个 "onmessage" 事件监听器：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">w.onmessage=function(event){ document.getElementById("result").innerHTML=event.data; }; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">当 web worker 传递消息时，会执行事件监听器中的代码。event.data 中存有来自 event.data 的数据。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>终止 Web Worker</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">当我们创建 web worker 对象后，它会继续监听消息（即使在外部脚本完成之后）直到其被终止为止。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">如需终止 web worker，并释放浏览器/计算机资源，请使用 terminate() 方法：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">w.terminate();</pre></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>完整的 Web Worker 实例代码</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">我们已经看到了 .js 文件中的 Worker 代码。下面是 HTML 页面的代码：</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;body&gt;  &lt;p&gt;Count numbers: &lt;output id="result"&gt;&lt;/output&gt;&lt;/p&gt; &lt;button onclick="startWorker()"&gt;Start Worker&lt;/button&gt; &lt;button onclick="stopWorker()"&gt;Stop Worker&lt;/button&gt; &lt;br /&gt;&lt;br /&gt;  &lt;script&gt; var w;  function startWorker() { if(typeof(Worker)!=="undefined") {   if(typeof(w)=="undefined")     {     w=new Worker("demo_workers.js");     }   w.onmessage = function (event) {     document.getElementById("result").innerHTML=event.data;   }; } else { document.getElementById("result").innerHTML="Sorry, your browser  does not support Web Workers..."; } }  function stopWorker() { w.terminate(); } &lt;/script&gt;  &lt;/body&gt; &lt;/html&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_webworker" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>Web Workers 和 DOM</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">由于 web worker 位于外部文件中，它们无法访问下例 JavaScript 对象：</p><ul style="margin: 10px 0px 0px 35px; padding: 0px; border: 0px;"><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">window 对象</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">document 对象</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">parent 对象</li></ul></div><h1><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; font-weight: normal; line-height: normal; background-color: #f9f9f9;"><ul style="margin: 10px 0px 0px 35px; padding: 0px; border: 0px;"><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;"></li></ul></div></h1><img src ="http://www.blogjava.net/qileilove/aggbug/412244.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/qileilove/" target="_blank">顺其自然EVO</a> 2014-04-10 16:01 <a href="http://www.blogjava.net/qileilove/articles/412244.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML 5 应用程序缓存</title><link>http://www.blogjava.net/qileilove/articles/412243.html</link><dc:creator>顺其自然EVO</dc:creator><author>顺其自然EVO</author><pubDate>Thu, 10 Apr 2014 07:58:00 GMT</pubDate><guid>http://www.blogjava.net/qileilove/articles/412243.html</guid><wfw:comment>http://www.blogjava.net/qileilove/comments/412243.html</wfw:comment><comments>http://www.blogjava.net/qileilove/articles/412243.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/qileilove/comments/commentRss/412243.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/qileilove/services/trackbacks/412243.html</trackback:ping><description><![CDATA[<div id="intro" style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><p style="margin: 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: 微软雅黑; font-size: 14px; font-weight: 800;">使用 HTML5，通过创建 cache manifest 文件，可以轻松地创建 web 应用的离线版本。</span></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>什么是应用程序缓存（Application Cache）？</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">HTML5 引入了应用程序缓存，这意味着 web 应用可进行缓存，并可在没有因特网连接时进行访问。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">应用程序缓存为应用带来三个优势：</p><ul style="margin: 10px 0px 0px 35px; padding: 0px; border: 0px;"><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">离线浏览 - 用户可在应用离线时使用它们</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">速度 - 已缓存资源加载得更快</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">减少服务器负载 - 浏览器将只从服务器下载更新过或更改过的资源。</li></ul></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>浏览器支持</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">所有主流浏览器均支持应用程序缓存，除了 Internet Explorer。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>HTML5 Cache Manifest 实例</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">下面的例子展示了带有 cache manifest 的 HTML 文档（供离线浏览）：</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;!DOCTYPE HTML&gt; &lt;html <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">manifest="demo.appcache"</code>&gt;  &lt;body&gt; The content of the document...... &lt;/body&gt;  &lt;/html&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_html_manifest" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>Cache Manifest 基础</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">如需启用应用程序缓存，请在文档的 &lt;html&gt; 标签中包含 manifest 属性：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;!DOCTYPE HTML&gt; &lt;html manifest="demo.appcache"&gt; ... &lt;/html&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">每个指定了 manifest 的页面在用户对其访问时都会被缓存。如果未指定 manifest 属性，则页面不会被缓存（除非在 manifest 文件中直接指定了该页面）。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">manifest 文件的建议的文件扩展名是：".appcache"。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">请注意，manifest 文件需要配置<span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">正确的 MIME-type</span>，即 "text/cache-manifest"。必须在 web 服务器上进行配置。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>Manifest 文件</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">manifest 文件是简单的文本文件，它告知浏览器被缓存的内容（以及不缓存的内容）。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">manifest 文件可分为三个部分：</p><ul style="margin: 10px 0px 0px 35px; padding: 0px; border: 0px;"><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">CACHE MANIFEST</span>&nbsp;- 在此标题下列出的文件将在首次下载后进行缓存</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">NETWORK</span>&nbsp;- 在此标题下列出的文件需要与服务器的连接，且不会被缓存</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">FALLBACK</span>&nbsp;- 在此标题下列出的文件规定当页面无法访问时的回退页面（比如 404 页面）</li></ul><h3>CACHE MANIFEST</h3><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">第一行，CACHE MANIFEST，是必需的：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">CACHE MANIFEST /theme.css /logo.gif /main.js </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">上面的 manifest 文件列出了三个资源：一个 CSS 文件，一个 GIF 图像，以及一个 JavaScript 文件。当 manifest 文件加载后，浏览器会从网站的根目录下载这三个文件。然后，无论用户何时与因特网断开连接，这些资源依然是可用的。</p><h3>NETWORK</h3><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">下面的 NETWORK 小节规定文件 "login.asp" 永远不会被缓存，且离线时是不可用的：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">NETWORK: login.asp </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">可以使用星号来指示所有其他资源/文件都需要因特网连接：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">NETWORK: * </pre><h3>FALLBACK</h3><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">下面的 FALLBACK 小节规定如果无法建立因特网连接，则用 "offline.html" 替代 /html5/ 目录中的所有文件：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">FALLBACK: /html5/ /404.html </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">注释：</span>第一个 URI 是资源，第二个是替补。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>更新缓存</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">一旦应用被缓存，它就会保持缓存直到发生下列情况：</p><ul style="margin: 10px 0px 0px 35px; padding: 0px; border: 0px;"><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">用户清空浏览器缓存</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">manifest 文件被修改（参阅下面的提示）</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">由程序来更新应用缓存</li></ul><h3>实例 - 完整的 Manifest 文件</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">CACHE MANIFEST # 2012-02-21 v1.0.0 /theme.css /logo.gif /main.js  NETWORK: login.asp  FALLBACK: /html5/ /404.html </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold; color: #ff9955;">重要的提示：</span>以 "#" 开头的是注释行，但也可满足其他用途。应用的缓存会在其 manifest 文件更改时被更新。如果您编辑了一幅图片，或者修改了一个 JavaScript 函数，这些改变都不会被重新缓存。更新注释行中的日期和版本号是一种使浏览器重新缓存文件的办法。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>关于应用程序缓存的注释</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">请留心缓存的内容。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">一旦文件被缓存，则浏览器会继续展示已缓存的版本，即使您修改了服务器上的文件。为了确保浏览器更新缓存，您需要更新 manifest 文件。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">注释：</span>浏览器对缓存数据的容量限制可能不太一样（某些浏览器设置的限制是每个站点 5MB）。</p></div><img src ="http://www.blogjava.net/qileilove/aggbug/412243.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/qileilove/" target="_blank">顺其自然EVO</a> 2014-04-10 15:58 <a href="http://www.blogjava.net/qileilove/articles/412243.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML 5 Web 存储</title><link>http://www.blogjava.net/qileilove/articles/412242.html</link><dc:creator>顺其自然EVO</dc:creator><author>顺其自然EVO</author><pubDate>Thu, 10 Apr 2014 07:55:00 GMT</pubDate><guid>http://www.blogjava.net/qileilove/articles/412242.html</guid><wfw:comment>http://www.blogjava.net/qileilove/comments/412242.html</wfw:comment><comments>http://www.blogjava.net/qileilove/articles/412242.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/qileilove/comments/commentRss/412242.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/qileilove/services/trackbacks/412242.html</trackback:ping><description><![CDATA[<div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>在客户端存储数据</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">HTML5 提供了两种在客户端存储数据的新方法：</p><ul style="margin: 10px 0px 0px 35px; padding: 0px; border: 0px;"><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">localStorage - 没有时间限制的数据存储</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">sessionStorage - 针对一个 session 的数据存储</li></ul><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">之前，这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储，因为它们由每个对服务器的请求来传递，这使得 cookie 速度很慢而且效率也不高。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">在 HTML5 中，数据不是由每个服务器请求传递的，而是只有在请求时使用数据。它使在不影响网站性能的情况下存储大量数据成为可能。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">对于不同的网站，数据存储于不同的区域，并且一个网站只能访问其自身的数据。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">HTML5 使用 JavaScript 来存储和访问数据。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>localStorage 方法</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">localStorage 方法存储的数据没有时间限制。第二天、第二周或下一年之后，数据依然可用。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">如何创建和访问 localStorage：</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;script type="text/javascript"&gt; <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">localStorage.lastname="Smith";</code> document.write(<code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">localStorage.lastname</code>); &lt;/script&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_webstorage_local" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">下面的例子对用户访问页面的次数进行计数：</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;script type="text/javascript"&gt; if (<code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">localStorage.pagecount</code>)   {   localStorage.pagecount=Number(<code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">localStorage.pagecount</code>) +1;   } else   {   <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">localStorage.pagecount</code>=1;   } document.write("Visits "+ <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">localStorage.pagecount</code> + " time(s)."); &lt;/script&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_webstorage_local_pagecount" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>sessionStorage 方法</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">sessionStorage 方法针对一个 session 进行数据存储。当用户关闭浏览器窗口后，数据会被删除。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">如何创建并访问一个 sessionStorage：</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;script type="text/javascript"&gt; <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">sessionStorage.lastname="Smith";</code> document.write(<code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">sessionStorage.lastname</code>); &lt;/script&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_webstorage_session" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">下面的例子对用户在当前 session 中访问页面的次数进行计数：</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;script type="text/javascript"&gt; if (<code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">sessionStorage.pagecount</code>)   {   sessionStorage.pagecount=Number(<code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">sessionStorage.pagecount</code>) +1;   } else   {   <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">sessionStorage.pagecount</code>=1;   } document.write("Visits "+<code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">sessionStorage.pagecount</code>+" time(s) this session."); &lt;/script&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_webstorage_session_pagecount" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p></div><img src ="http://www.blogjava.net/qileilove/aggbug/412242.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/qileilove/" target="_blank">顺其自然EVO</a> 2014-04-10 15:55 <a href="http://www.blogjava.net/qileilove/articles/412242.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML5 地理定位</title><link>http://www.blogjava.net/qileilove/articles/412241.html</link><dc:creator>顺其自然EVO</dc:creator><author>顺其自然EVO</author><pubDate>Thu, 10 Apr 2014 07:51:00 GMT</pubDate><guid>http://www.blogjava.net/qileilove/articles/412241.html</guid><wfw:comment>http://www.blogjava.net/qileilove/comments/412241.html</wfw:comment><comments>http://www.blogjava.net/qileilove/articles/412241.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/qileilove/comments/commentRss/412241.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/qileilove/services/trackbacks/412241.html</trackback:ping><description><![CDATA[<div id="intro" style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><p style="margin: 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: 微软雅黑; font-size: 14px; font-weight: 800;">HTML5 Geolocation（地理定位）用于定位用户的位置。</span></p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_geolocation_map_script" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试：在谷歌地图上显示您的位置</a></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>定位用户的位置</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">HTML5 Geolocation API 用于获得用户的地理位置。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">鉴于该特性可能侵犯用户的隐私，除非用户同意，否则用户位置信息是不可用的。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>浏览器支持</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">Internet Explorer 9、Firefox、Chrome、Safari 以及 Opera 支持地理定位。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">注释：</span>对于拥有 GPS 的设备，比如 iPhone，地理定位更加精确。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>HTML5 - 使用地理定位</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">请使用 getCurrentPosition() 方法来获得用户的位置。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">下例是一个简单的地理定位实例，可返回用户位置的经度和纬度。</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;script&gt; var x=document.getElementById("demo"); function getLocation()   {   if (navigator.geolocation)     {     navigator.geolocation.<code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">getCurrentPosition(showPosition)</code>;     }   else{x.innerHTML="Geolocation is not supported by this browser.";}   } function showPosition(position)   {   x.innerHTML="Latitude: " + position.coords.latitude +   "&lt;br /&gt;Longitude: " + position.coords.longitude;   } &lt;/script&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_geolocation" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">例子解释：</p><ul style="margin: 10px 0px 0px 35px; padding: 0px; border: 0px;"><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">检测是否支持地理定位</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">如果支持，则运行 getCurrentPosition() 方法。如果不支持，则向用户显示一段消息。</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">如果getCurrentPosition()运行成功，则向参数showPosition中规定的函数返回一个coordinates对象</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">showPosition() 函数获得并显示经度和纬度</li></ul><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">上面的例子是一个非常基础的地理定位脚本，不含错误处理。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>处理错误和拒绝</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">getCurrentPosition() 方法的第二个参数用于处理错误。它规定当获取用户位置失败时运行的函数：</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">function showError(error)   {   switch(error.code)     {     case error.PERMISSION_DENIED:       x.innerHTML="User denied the request for Geolocation."       break;     case error.POSITION_UNAVAILABLE:       x.innerHTML="Location information is unavailable."       break;     case error.TIMEOUT:       x.innerHTML="The request to get user location timed out."       break;     case error.UNKNOWN_ERROR:       x.innerHTML="An unknown error occurred."       break;     }   } </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_geolocation_error" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">错误代码：</p><ul style="margin: 10px 0px 0px 35px; padding: 0px; border: 0px;"><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">Permission denied - 用户不允许地理定位</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">Position unavailable - 无法获取当前位置</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">Timeout - 操作超时</li></ul></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>在地图中显示结果</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">如需在地图中显示结果，您需要访问可使用经纬度的地图服务，比如谷歌地图或百度地图：</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">function showPosition(position) { var latlon=position.coords.latitude+","+position.coords.longitude;  var img_url="http://maps.googleapis.com/maps/api/staticmap?center=" +latlon+"&amp;zoom=14&amp;size=400x300&amp;sensor=false";  document.getElementById("mapholder").innerHTML="&lt;img src='"+img_url+"' /&gt;"; } </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_geolocation_map" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">在上例中，我们使用返回的经纬度数据在谷歌地图中显示位置（使用静态图像）。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_geolocation_map_script" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">谷歌地图脚本</a></p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">上面的链接向您演示如何使用脚本来显示带有标记、缩放和拖曳选项的交互式地图。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>给定位置的信息</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">本页演示的是如何在地图上显示用户的位置。不过，地理定位对于给定位置的信息同样很有用处。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">案例：</p><ul style="margin: 10px 0px 0px 35px; padding: 0px; border: 0px;"><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">更新本地信息</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">显示用户周围的兴趣点</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">交互式车载导航系统 (GPS)</li></ul></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>getCurrentPosition() 方法 - 返回数据</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">若成功，则 getCurrentPosition() 方法返回对象。始终会返回 latitude、longitude 以及 accuracy 属性。如果可用，则会返回其他下面的属性。</p><table style="margin: 10px 0px 0px; padding: 0px; border-style: solid; border-color: #aaaaaa; border-collapse: collapse; width: 709.0908813476563px;"><tbody style="margin: 0px; padding: 0px; border: 0px;"><tr style="margin: 0px; padding: 0px; border: 0px;"><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 262.7272644042969px;">属性</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5;">描述</th></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">coords.latitude</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">十进制数的纬度</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">coords.longitude</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">十进制数的经度</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">coords.accuracy</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">位置精度</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">coords.altitude</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">海拔，海平面以上以米计</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">coords.altitudeAccuracy</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">位置的海拔精度</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">coords.heading</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">方向，从正北开始以度计</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">coords.speed</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">速度，以米/每秒计</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">timestamp</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">响应的日期/时间</td></tr></tbody></table></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>Geolocation 对象 - 其他有趣的方法</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">watchPosition() - 返回用户的当前位置，并继续返回用户移动时的更新位置（就像汽车上的 GPS）。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">clearWatch() - 停止 watchPosition() 方法</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">下面的例子展示 watchPosition() 方法。您需要一台精确的 GPS 设备来测试该例（比如 iPhone）：</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;script&gt; var x=document.getElementById("demo"); function getLocation()   {   if (navigator.geolocation)     {     navigator.geolocation.<code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;">watchPosition(showPosition)</code>;     }   else{x.innerHTML="Geolocation is not supported by this browser.";}   } function showPosition(position)   {   x.innerHTML="Latitude: " + position.coords.latitude +   "&lt;br /&gt;Longitude: " + position.coords.longitude;   } &lt;/script&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_geolocation_watchposition" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p></div><img src ="http://www.blogjava.net/qileilove/aggbug/412241.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/qileilove/" target="_blank">顺其自然EVO</a> 2014-04-10 15:51 <a href="http://www.blogjava.net/qileilove/articles/412241.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML 5 Canvas vs. SVG</title><link>http://www.blogjava.net/qileilove/articles/412240.html</link><dc:creator>顺其自然EVO</dc:creator><author>顺其自然EVO</author><pubDate>Thu, 10 Apr 2014 07:47:00 GMT</pubDate><guid>http://www.blogjava.net/qileilove/articles/412240.html</guid><wfw:comment>http://www.blogjava.net/qileilove/comments/412240.html</wfw:comment><comments>http://www.blogjava.net/qileilove/articles/412240.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/qileilove/comments/commentRss/412240.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/qileilove/services/trackbacks/412240.html</trackback:ping><description><![CDATA[<div id="intro" style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><p style="margin: 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: 微软雅黑; font-size: 14px; font-weight: 800;">Canvas 和 SVG 都允许您在浏览器中创建图形，但是它们在根本上是不同的。</span></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>SVG</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">SVG 是一种使用 XML 描述 2D 图形的语言。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">SVG 基于 XML，这意味着 SVG DOM 中的每个元素都是可用的。您可以为某个元素附加 JavaScript 事件处理器。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">在 SVG 中，每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化，那么浏览器能够自动重现图形。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>Canvas</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">Canvas 通过 JavaScript 来绘制 2D 图形。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">Canvas 是逐像素进行渲染的。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">在 canvas 中，一旦图形被绘制完成，它就不会继续得到浏览器的关注。如果其位置发生变化，那么整个场景也需要重新绘制，包括任何或许已被图形覆盖的对象。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>Canvas 与 SVG 的比较</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">下表列出了 canvas 与 SVG 之间的一些不同之处。</p><h3>Canvas</h3><ul style="margin: 10px 0px 0px 35px; padding: 0px; border: 0px;"><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">依赖分辨率</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">不支持事件处理器</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">弱的文本渲染能力</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">能够以 .png 或 .jpg 格式保存结果图像</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">最适合图像密集型的游戏，其中的许多对象会被频繁重绘</li></ul><h3>SVG</h3><ul style="margin: 10px 0px 0px 35px; padding: 0px; border: 0px;"><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">不依赖分辨率</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">支持事件处理器</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">最适合带有大型渲染区域的应用程序（比如谷歌地图）</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">复杂度高会减慢渲染速度（任何过度使用 DOM 的应用都不快）</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">不适合游戏应用</li></ul></div><img src ="http://www.blogjava.net/qileilove/aggbug/412240.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/qileilove/" target="_blank">顺其自然EVO</a> 2014-04-10 15:47 <a href="http://www.blogjava.net/qileilove/articles/412240.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML5 内联 SVG</title><link>http://www.blogjava.net/qileilove/articles/412239.html</link><dc:creator>顺其自然EVO</dc:creator><author>顺其自然EVO</author><pubDate>Thu, 10 Apr 2014 07:41:00 GMT</pubDate><guid>http://www.blogjava.net/qileilove/articles/412239.html</guid><wfw:comment>http://www.blogjava.net/qileilove/comments/412239.html</wfw:comment><comments>http://www.blogjava.net/qileilove/articles/412239.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/qileilove/comments/commentRss/412239.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/qileilove/services/trackbacks/412239.html</trackback:ping><description><![CDATA[<div id="intro" style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><p style="margin: 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: 微软雅黑; font-size: 14px; font-weight: 800;">HTML5 支持内联 SVG。</span></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>什么是SVG？</h2><ul style="margin: 10px 0px 0px 35px; padding: 0px; border: 0px;"><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">SVG 指可伸缩矢量图形 (Scalable Vector Graphics)</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">SVG 用于定义用于网络的基于矢量的图形</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">SVG 使用 XML 格式定义图形</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">SVG 图像在放大或改变尺寸的情况下其图形质量不会有损失</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">SVG 是万维网联盟的标准</li></ul></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>SVG 的优势</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">与其他图像格式相比（比如 JPEG 和 GIF），使用 SVG 的优势在于：</p><ul style="margin: 10px 0px 0px 35px; padding: 0px; border: 0px;"><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">SVG 图像可通过文本编辑器来创建和修改</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">SVG 图像可被搜索、索引、脚本化或压缩</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">SVG 是可伸缩的</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">SVG 图像可在任何的分辨率下被高质量地打印</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">SVG 可在图像质量不下降的情况下被放大</li></ul></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>浏览器支持</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">Internet Explorer 9、Firefox、Opera、Chrome 以及 Safari 支持内联 SVG。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>把 SVG 直接嵌入 HTML 页面</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">在 HTML5 中，您能够将 SVG 元素直接嵌入 HTML 页面中：</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;body&gt; <code style="margin: 0px; padding: 0px; border: 0px; font-family: 'Courier New', Courier, monospace; color: #0000dd;"> &lt;svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="190"&gt;   &lt;polygon points="100,10 40,180 190,60 10,60 160,180"   style="fill:lime;stroke:purple;stroke-width:5;fill-rule:evenodd;" /&gt; &lt;/svg&gt; </code> &lt;/body&gt; &lt;/html&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_svg_ex" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">结果：</p><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="190"><polygon points="100,10 40,180 190,60 10,60 160,180" style="fill:red;stroke:blue;stroke-width:3;fill-rule:evenodd;"></polygon></svg><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">如需学习更多有关 SVG 的知识，请阅读我们的&nbsp;<a href="http://www.w3school.com.cn/svg/index.asp" title="SVG 教程" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">SVG 教程</a>。</p></div><img src ="http://www.blogjava.net/qileilove/aggbug/412239.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/qileilove/" target="_blank">顺其自然EVO</a> 2014-04-10 15:41 <a href="http://www.blogjava.net/qileilove/articles/412239.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML 5 Canvas</title><link>http://www.blogjava.net/qileilove/articles/412238.html</link><dc:creator>顺其自然EVO</dc:creator><author>顺其自然EVO</author><pubDate>Thu, 10 Apr 2014 07:32:00 GMT</pubDate><guid>http://www.blogjava.net/qileilove/articles/412238.html</guid><wfw:comment>http://www.blogjava.net/qileilove/comments/412238.html</wfw:comment><comments>http://www.blogjava.net/qileilove/articles/412238.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/qileilove/comments/commentRss/412238.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/qileilove/services/trackbacks/412238.html</trackback:ping><description><![CDATA[<h1></h1><div id="intro" style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><p style="margin: 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: 微软雅黑; font-size: 14px; font-weight: 800;">canvas 元素用于在网页上绘制图形。</span></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>什么是 Canvas？</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">画布是一个矩形区域，您可以控制其每一像素。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>创建 Canvas 元素</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">向 HTML5 页面添加 canvas 元素。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">规定元素的 id、宽度和高度：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;canvas id="myCanvas" width="200" height="100"&gt;&lt;/canvas&gt;</pre></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>通过 JavaScript 来绘制</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">canvas 元素本身是没有绘图能力的。所有的绘制工作必须在 JavaScript 内部完成：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;script type="text/javascript"&gt; var c=document.getElementById("myCanvas"); var cxt=c.getContext("2d"); cxt.fillStyle="#FF0000"; cxt.fillRect(0,0,150,75); &lt;/script&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">JavaScript 使用 id 来寻找 canvas 元素：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">var c=document.getElementById("myCanvas");</pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">然后，创建 context 对象：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">var cxt=c.getContext("2d"); </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">getContext("2d") 对象是内建的 HTML5 对象，拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">下面的两行代码绘制一个红色的矩形：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">cxt.fillStyle="#FF0000"; cxt.fillRect(0,0,150,75);  </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">fillStyle 方法将其染成红色，fillRect 方法规定了形状、位置和尺寸。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>理解坐标</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">上面的 fillRect 方法拥有参数 (0,0,150,75)。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">意思是：在画布上绘制 150x75 的矩形，从左上角开始 (0,0)。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">如下图所示，画布的 X 和 Y 坐标用于在画布上对绘画进行定位。</p><img src="http://www.w3school.com.cn/i/ct_html5_canvas_coordinates.gif" alt="Canvas 实例：理解坐标" style="margin: 25px 0px 0px 25px; padding: 0px; border: 0px;" /><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_canvas_coordinates" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">实例：把鼠标悬停在矩形上可以看到坐标</a></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>更多 Canvas 实例</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">下面的在 canvas 元素上进行绘画的更多实例：</p><h3>实例 - 线条</h3><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">通过指定从何处开始，在何处结束，来绘制一条线：</p><img src="http://www.w3school.com.cn/i/ct_html5_canvas_line.gif" alt="Canvas 实例：线条" style="margin: 25px 0px 0px 25px; padding: 0px; border: 0px;" /><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">JavaScript 代码：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;script type="text/javascript"&gt;  var c=document.getElementById("myCanvas"); var cxt=c.getContext("2d"); cxt.moveTo(10,10); cxt.lineTo(150,50); cxt.lineTo(10,50); cxt.stroke();  &lt;/script&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">canvas 元素：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;"&gt; Your browser does not support the canvas element. &lt;/canvas&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_canvas_line" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p><h3>实例 - 圆形</h3><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">通过规定尺寸、颜色和位置，来绘制一个圆：</p><img src="http://www.w3school.com.cn/i/ct_html5_canvas_circle.gif" alt="Canvas 实例：圆形" style="margin: 25px 0px 0px 25px; padding: 0px; border: 0px;" /><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">JavaScript 代码：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;script type="text/javascript"&gt;  var c=document.getElementById("myCanvas"); var cxt=c.getContext("2d"); cxt.fillStyle="#FF0000"; cxt.beginPath(); cxt.arc(70,18,15,0,Math.PI*2,true); cxt.closePath(); cxt.fill();  &lt;/script&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">canvas 元素：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;"&gt; Your browser does not support the canvas element. &lt;/canvas&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_canvas_circle" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p><h3>实例 - 渐变</h3><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">使用您指定的颜色来绘制渐变背景：</p><img src="http://www.w3school.com.cn/i/ct_html5_canvas_gradient.gif" alt="Canvas 实例：渐变" style="margin: 25px 0px 0px 25px; padding: 0px; border: 0px;" /><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">JavaScript 代码：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;script type="text/javascript"&gt;  var c=document.getElementById("myCanvas"); var cxt=c.getContext("2d"); var grd=cxt.createLinearGradient(0,0,175,50); grd.addColorStop(0,"#FF0000"); grd.addColorStop(1,"#00FF00"); cxt.fillStyle=grd; cxt.fillRect(0,0,175,50);  &lt;/script&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">canvas 元素：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;"&gt; Your browser does not support the canvas element. &lt;/canvas&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_canvas_gradient" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p><h3>实例 - 图像</h3><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">把一幅图像放置到画布上：</p><img src="http://www.w3school.com.cn/i/ct_html5_canvas_image.gif" alt="Canvas 实例：图像" style="margin: 25px 0px 0px 25px; padding: 0px; border: 0px;" /><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">JavaScript 代码：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;script type="text/javascript"&gt;  var c=document.getElementById("myCanvas"); var cxt=c.getContext("2d"); var img=new Image() img.src="flower.png" cxt.drawImage(img,0,0);  &lt;/script&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">canvas 元素：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;"&gt; Your browser does not support the canvas element. &lt;/canvas&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_canvas_image" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>相关页面</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">参考手册：<a href="http://www.w3school.com.cn/html5/tag_canvas.asp" title="HTML 5 &lt;canvas&gt; 标签" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">HTML 5 &lt;canvas&gt; 标签</a></p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">参考手册：<a href="http://www.w3school.com.cn/jsref/dom_obj_canvas.asp" title="HTML DOM Canvas 对象" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">HTML DOM Canvas 对象</a></p></div><h1><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; font-weight: normal; line-height: normal; background-color: #f9f9f9;"><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/jsref/dom_obj_canvas.asp" title="HTML DOM Canvas 对象" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;"></a></p></div></h1><img src ="http://www.blogjava.net/qileilove/aggbug/412238.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/qileilove/" target="_blank">顺其自然EVO</a> 2014-04-10 15:32 <a href="http://www.blogjava.net/qileilove/articles/412238.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML 5 拖放</title><link>http://www.blogjava.net/qileilove/articles/412164.html</link><dc:creator>顺其自然EVO</dc:creator><author>顺其自然EVO</author><pubDate>Wed, 09 Apr 2014 09:55:00 GMT</pubDate><guid>http://www.blogjava.net/qileilove/articles/412164.html</guid><wfw:comment>http://www.blogjava.net/qileilove/comments/412164.html</wfw:comment><comments>http://www.blogjava.net/qileilove/articles/412164.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/qileilove/comments/commentRss/412164.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/qileilove/services/trackbacks/412164.html</trackback:ping><description><![CDATA[<h1><div style="display: inline-block;"><div id="intro" style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; font-weight: normal; line-height: normal; background-color: #f9f9f9;"><p style="margin: 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: 微软雅黑; font-size: 14px; font-weight: 800;">拖放（Drag 和 drop）是 HTML5 标准的组成部分。</span></p></div></div></h1><h2 style="margin: 0px; padding: 0px; border: 0px; font-family: 微软雅黑; font-size: 14px;">拖放</h2><h1><div style="display: inline-block;"><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; font-weight: normal; line-height: normal; background-color: #f9f9f9;"><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">拖放是一种常见的特性，即抓取对象以后拖到另一个位置。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">在 HTML5 中，拖放是标准的一部分，任何元素都能够拖放。</p></div></div></h1><h2 style="margin: 0px; padding: 0px; border: 0px; font-family: 微软雅黑; font-size: 14px;">浏览器支持</h2><h1><div style="display: inline-block;"><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; font-weight: normal; line-height: normal; background-color: #f9f9f9;"><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">Internet Explorer 9、Firefox、Opera 12、Chrome 以及 Safari 5 支持拖放。</p><p class="note" style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">注释：</span>在 Safari 5.1.2 中不支持拖放。</p></div></div></h1><h2 style="margin: 0px; padding: 0px; border: 0px; font-family: 微软雅黑; font-size: 14px;">HTML5 拖放实例</h2><h1><div style="display: inline-block;"><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; font-weight: normal; line-height: normal; background-color: #f9f9f9;"><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">下面的例子是一个简单的拖放实例：</p></div></div></h1><h3 style="margin: 20px 0px 0px; padding: 0px; border: 0px; font-size: 12px;">实例</h3><h1><div style="display: inline-block;"><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; font-weight: normal; line-height: normal; background-color: #f9f9f9;"><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;!DOCTYPE HTML&gt;
&lt;html&gt;
&lt;head&gt;
&lt;script type="text/javascript"&gt;
function allowDrop(ev)
{
ev.preventDefault();
}

function drag(ev)
{
ev.dataTransfer.setData("Text",ev.target.id);
}

function drop(ev)
{
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id="div1" ondrop="drop(event)"
ondragover="allowDrop(event)"&gt;&lt;/div&gt;
&lt;img id="drag1" src="img_logo.gif" draggable="true"
ondragstart="drag(event)" width="336" height="69" /&gt;

&lt;/body&gt;
&lt;/html&gt;
</pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_draganddrop" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">它看上去也许有些复杂，不过我们可以分别研究拖放事件的不同部分。</p></div></div></h1><h2 style="margin: 0px; padding: 0px; border: 0px; font-family: 微软雅黑; font-size: 14px;">设置元素为可拖放</h2><h1><div style="display: inline-block;"><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; font-weight: normal; line-height: normal; background-color: #f9f9f9;"><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">首先，为了使元素可拖动，把 draggable 属性设置为 true ：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;img draggable="true" /&gt;</pre></div></div></h1><h2 style="margin: 0px; padding: 0px; border: 0px; font-family: 微软雅黑; font-size: 14px;">拖动什么 - ondragstart 和 setData()</h2><h1><div style="display: inline-block;"><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; font-weight: normal; line-height: normal; background-color: #f9f9f9;"><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">然后，规定当元素被拖动时，会发生什么。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">在上面的例子中，ondragstart 属性调用了一个函数，drag(<em style="margin: 0px; padding: 0px; border: 0px;">event</em>)，它规定了被拖动的数据。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">dataTransfer.setData() 方法设置被拖数据的数据类型和值：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">function drag(ev)
{
ev.dataTransfer.setData("Text",ev.target.id);
}
</pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">在这个例子中，数据类型是 "Text"，值是可拖动元素的 id ("drag1")。</p></div></div></h1><h2 style="margin: 0px; padding: 0px; border: 0px; font-family: 微软雅黑; font-size: 14px;">放到何处 - ondragover</h2><h1><div style="display: inline-block;"><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; font-weight: normal; line-height: normal; background-color: #f9f9f9;"><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">ondragover 事件规定在何处放置被拖动的数据。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">默认地，无法将数据/元素放置到其他元素中。如果需要设置允许放置，我们必须阻止对元素的默认处理方式。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">这要通过调用 ondragover 事件的&nbsp;<em style="margin: 0px; padding: 0px; border: 0px;">event</em>.preventDefault() 方法：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">event.preventDefault()</pre></div></div></h1><h2 style="margin: 0px; padding: 0px; border: 0px; font-family: 微软雅黑; font-size: 14px;">进行放置 - ondrop</h2><h1><div style="display: inline-block;"><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; font-weight: normal; line-height: normal; background-color: #f9f9f9;"><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">当放置被拖数据时，会发生 drop 事件。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">在上面的例子中，ondrop 属性调用了一个函数，drop(<em style="margin: 0px; padding: 0px; border: 0px;">event</em>)：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">function drop(ev)
{
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}
</pre></div></div></h1><h3 style="margin: 20px 0px 0px; padding: 0px; border: 0px; font-size: 12px;">代码解释：</h3><h1><div style="display: inline-block;"><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; font-weight: normal; line-height: normal; background-color: #f9f9f9;"><ul style="margin: 10px 0px 0px 35px; padding: 0px; border: 0px;"><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">调用 preventDefault() 来避免浏览器对数据的默认处理（drop 事件的默认行为是以链接形式打开）</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">通过 dataTransfer.getData("Text") 方法获得被拖的数据。该方法将返回在 setData() 方法中设置为相同类型的任何数据。</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">被拖数据是被拖元素的 id ("drag1")</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">把被拖元素追加到放置元素（目标元素）中</li></ul></div></div></h1><h2 style="margin: 0px; padding: 0px; border: 0px; font-family: 微软雅黑; font-size: 14px;">更多实例</h2><h1><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; font-weight: normal; line-height: normal; background-color: #f9f9f9;"><dl style="margin: 10px 0px 0px; padding: 0px; border: 0px;"><dt style="margin: 15px 0px 5px; padding: 0px; border: 0px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_draganddrop2" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">来回拖放图片</a></dt><dd style="margin: 0px; padding: 0px; border: 0px;">如何在两个 &lt;div&gt; 元素之间拖放图像。</dd></dl></div><div id="bpn" style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; height: 29px; width: 710px; background-color: #ffffff; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; font-weight: normal; line-height: normal;"><ul style="margin: 0px; padding: 0px; border: 0px; height: 29px; width: 230px; background-image: url(http://www.w3school.com.cn/ui/bg.gif); background-color: transparent; position: relative; background-position: 0px -570px; background-repeat: no-repeat no-repeat;"><li style="margin: 0px; padding: 0px; border: 0px; left: 0px; width: 105px; display: block; height: 29px; list-style: none; position: absolute; top: 0px; overflow: hidden;"></li></ul></div></h1><img src ="http://www.blogjava.net/qileilove/aggbug/412164.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/qileilove/" target="_blank">顺其自然EVO</a> 2014-04-09 17:55 <a href="http://www.blogjava.net/qileilove/articles/412164.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML 5 音频</title><link>http://www.blogjava.net/qileilove/articles/412163.html</link><dc:creator>顺其自然EVO</dc:creator><author>顺其自然EVO</author><pubDate>Wed, 09 Apr 2014 09:54:00 GMT</pubDate><guid>http://www.blogjava.net/qileilove/articles/412163.html</guid><wfw:comment>http://www.blogjava.net/qileilove/comments/412163.html</wfw:comment><comments>http://www.blogjava.net/qileilove/articles/412163.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/qileilove/comments/commentRss/412163.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/qileilove/services/trackbacks/412163.html</trackback:ping><description><![CDATA[<div id="intro" style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><p style="margin: 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: 微软雅黑; font-size: 14px; font-weight: 800;">HTML5 提供了播放音频的标准。</span></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>Web 上的音频</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">直到现在，仍然不存在一项旨在网页上播放音频的标准。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">今天，大多数音频是通过插件（比如 Flash）来播放的。然而，并非所有浏览器都拥有同样的插件。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">HTML5 规定了一种通过 audio 元素来包含音频的标准方法。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">audio 元素能够播放声音文件或者音频流。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>音频格式</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">当前，audio 元素支持三种音频格式：</p><table style="margin: 10px 0px 0px; padding: 0px; border-style: solid; border-color: #aaaaaa; border-collapse: collapse; width: 709.0908813476563px;"><tbody style="margin: 0px; padding: 0px; border: 0px;"><tr style="margin: 0px; padding: 0px; border: 0px;"><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5;">&nbsp;</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 91.81817626953125px;">IE 9</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 91.81817626953125px;">Firefox 3.5</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 91.81817626953125px;">Opera 10.5</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 91.81817626953125px;">Chrome 3.0</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 91.81817626953125px;">Safari 3.0</th></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">Ogg Vorbis</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">&nbsp;</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">&#8730;</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">&#8730;</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">&#8730;</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">&nbsp;</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">MP3</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">&#8730;</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">&nbsp;</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">&nbsp;</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">&#8730;</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">&#8730;</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">Wav</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">&nbsp;</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">&#8730;</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">&#8730;</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">&nbsp;</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">&#8730;</td></tr></tbody></table></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>如何工作</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">如需在 HTML5 中播放音频，您所有需要的是：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;audio src="song.ogg" controls="controls"&gt; &lt;/audio&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">control 属性供添加播放、暂停和音量控件。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">&lt;audio&gt; 与 &lt;/audio&gt; 之间插入的内容是供不支持 audio 元素的浏览器显示的：</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;audio src="song.ogg" controls="controls"&gt; Your browser does not support the audio tag. &lt;/audio&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_audio_simple" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">上面的例子使用一个 Ogg 文件，适用于Firefox、Opera 以及 Chrome 浏览器。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">要确保适用于 Safari 浏览器，音频文件必须是 MP3 或 Wav 类型。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">audio 元素允许多个 source 元素。source 元素可以链接不同的音频文件。浏览器将使用第一个可识别的格式：</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;audio controls="controls"&gt;   &lt;source src="song.ogg" type="audio/ogg"&gt;   &lt;source src="song.mp3" type="audio/mpeg"&gt; Your browser does not support the audio tag. &lt;/audio&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_audio_all" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>Internet Explorer</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">Internet Explorer 8 不支持 audio 元素。在 IE 9 中，将提供对 audio 元素的支持。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>&lt;audio&gt; 标签的属性</h2><table style="margin: 10px 0px 0px; padding: 0px; border-style: solid; border-color: #aaaaaa; border-collapse: collapse; width: 709.0908813476563px;"><tbody style="margin: 0px; padding: 0px; border: 0px;"><tr style="margin: 0px; padding: 0px; border: 0px;"><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 120.90908813476563px;">属性</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 91.81817626953125px;">值</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5;">描述</th></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef; background-image: url(http://www.w3school.com.cn/i/site_table_bg.gif); background-position: 100% 0%; background-repeat: no-repeat no-repeat;"><a href="http://www.w3school.com.cn/html5/att_audio_autoplay.asp" title="HTML5 &lt;audio&gt; autoplay 属性" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">autoplay</a></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">autoplay</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">如果出现该属性，则音频在就绪后马上播放。</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef; background-image: url(http://www.w3school.com.cn/i/site_table_bg.gif); background-position: 100% 0%; background-repeat: no-repeat no-repeat;"><a href="http://www.w3school.com.cn/html5/att_audio_controls.asp" title="HTML5 &lt;audio&gt; controls 属性" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">controls</a></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">controls</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">如果出现该属性，则向用户显示控件，比如播放按钮。</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef; background-image: url(http://www.w3school.com.cn/i/site_table_bg.gif); background-position: 100% 0%; background-repeat: no-repeat no-repeat;"><a href="http://www.w3school.com.cn/html5/att_audio_loop.asp" title="HTML5 &lt;audio&gt; loop 属性" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">loop</a></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">loop</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">如果出现该属性，则每当音频结束时重新开始播放。</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef; background-image: url(http://www.w3school.com.cn/i/site_table_bg.gif); background-position: 100% 0%; background-repeat: no-repeat no-repeat;"><a href="http://www.w3school.com.cn/html5/att_audio_preload.asp" title="HTML5 &lt;audio&gt; preload 属性" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">preload</a></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">preload</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><p style="margin: 0px; padding: 0px; border: 0px; line-height: 18px;">如果出现该属性，则音频在页面加载时进行加载，并预备播放。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">如果使用 "autoplay"，则忽略该属性。</p></td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef; background-image: url(http://www.w3school.com.cn/i/site_table_bg.gif); background-position: 100% 0%; background-repeat: no-repeat no-repeat;"><a href="http://www.w3school.com.cn/html5/att_audio_src.asp" title="HTML5 &lt;audio&gt; src 属性" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">src</a></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><em style="margin: 0px; padding: 0px; border: 0px;">url</em></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">要播放的音频的 URL。</td></tr></tbody></table></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>相关页面</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">参考手册：<a href="http://www.w3school.com.cn/html5/tag_audio.asp" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">HTML 5 &lt;audio&gt; 标签</a></p></div><img src ="http://www.blogjava.net/qileilove/aggbug/412163.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/qileilove/" target="_blank">顺其自然EVO</a> 2014-04-09 17:54 <a href="http://www.blogjava.net/qileilove/articles/412163.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML 5 Video + DOM</title><link>http://www.blogjava.net/qileilove/articles/412162.html</link><dc:creator>顺其自然EVO</dc:creator><author>顺其自然EVO</author><pubDate>Wed, 09 Apr 2014 09:42:00 GMT</pubDate><guid>http://www.blogjava.net/qileilove/articles/412162.html</guid><wfw:comment>http://www.blogjava.net/qileilove/comments/412162.html</wfw:comment><comments>http://www.blogjava.net/qileilove/articles/412162.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/qileilove/comments/commentRss/412162.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/qileilove/services/trackbacks/412162.html</trackback:ping><description><![CDATA[<div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>HTML5 &lt;video&gt; - 使用 DOM 进行控制</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">HTML5 &lt;video&gt; 元素同样拥有方法、属性和事件。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">其中的方法用于播放、暂停以及加载等。其中的属性（比如时长、音量等）可以被读取或设置。其中的 DOM 事件能够通知您，比方说，&lt;video&gt; 元素开始播放、已暂停，已停止，等等。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">下例中简单的方法，向我们演示了如何使用 &lt;video&gt; 元素，读取并设置属性，以及如何调用方法。</p><h3>实例</h3><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">为视频创建简单的播放/暂停以及调整尺寸控件：</p><div style="margin: 0px; border: none; width: 710px;"><br style="margin: 0px; padding: 0px; border: 0px;" /><div style="margin: 0px; border: none; width: 710px;"><button style="margin: 15px 0px 0px; padding: 0px 5px; border: 1px solid #bebebe; height: 30px; font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif;">播放/暂停</button>&nbsp;<button style="margin: 15px 0px 0px; padding: 0px 5px; border: 1px solid #bebebe; height: 30px; font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif;">大</button>&nbsp;<button style="margin: 15px 0px 0px; padding: 0px 5px; border: 1px solid #bebebe; height: 30px; font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif;">中</button>&nbsp;<button style="margin: 15px 0px 0px; padding: 0px 5px; border: 1px solid #bebebe; height: 30px; font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif;">小</button></div><br style="margin: 0px; padding: 0px; border: 0px;" /><br style="margin: 0px; padding: 0px; border: 0px;" /><div style="margin: 0px; border: none; width: 710px;"><video id="video1" width="420" style="margin: 0px; padding: 0px; border: 0px;"></video></div></div><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">上面的例子调用了两个方法：play() 和 pause()。它同时使用了两个属性：paused 和 width。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_video_dom" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">亲自试一试</a></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>HTML5 &lt;video&gt; - 方法、属性以及事件</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">下面列出了大多数浏览器支持的视频方法、属性和事件：</p><table style="margin: 10px 0px 0px; padding: 0px; border-style: solid; border-color: #aaaaaa; border-collapse: collapse; width: 709.0908813476563px;"><tbody style="margin: 0px; padding: 0px; border: 0px;"><tr style="margin: 0px; padding: 0px; border: 0px;"><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 212.72726440429688px;">方法</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 212.72726440429688px;">属性</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5;">事件</th></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">play()</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">currentSrc</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">play</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">pause()</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">currentTime</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">pause</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">load()</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">videoWidth</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">progress</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">canPlayType</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">videoHeight</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">error</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">&nbsp;</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">duration</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">timeupdate</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">&nbsp;</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">ended</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">ended</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">&nbsp;</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">error</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">abort</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">&nbsp;</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">paused</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">empty</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">&nbsp;</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">muted</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">emptied</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">&nbsp;</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">seeking</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">waiting</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">&nbsp;</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">volume</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">loadedmetadata</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">&nbsp;</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">height</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">&nbsp;</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">&nbsp;</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">width</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">&nbsp;</td></tr></tbody></table><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">注释：</span>在所有属性中，只有 videoWidth 和 videoHeight 属性是立即可用的。在视频的元数据已加载后，其他属性才可用。</p></div><img src ="http://www.blogjava.net/qileilove/aggbug/412162.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/qileilove/" target="_blank">顺其自然EVO</a> 2014-04-09 17:42 <a href="http://www.blogjava.net/qileilove/articles/412162.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML 5 视频</title><link>http://www.blogjava.net/qileilove/articles/412159.html</link><dc:creator>顺其自然EVO</dc:creator><author>顺其自然EVO</author><pubDate>Wed, 09 Apr 2014 09:28:00 GMT</pubDate><guid>http://www.blogjava.net/qileilove/articles/412159.html</guid><wfw:comment>http://www.blogjava.net/qileilove/comments/412159.html</wfw:comment><comments>http://www.blogjava.net/qileilove/articles/412159.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/qileilove/comments/commentRss/412159.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/qileilove/services/trackbacks/412159.html</trackback:ping><description><![CDATA[<div id="intro" style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><p style="margin: 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: 微软雅黑; font-size: 14px; font-weight: 800;">许多时髦的网站都提供视频。HTML5 提供了展示视频的标准。</span></p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">检测您的浏览器是否支持 HTML5 视频：</p><div id="checkVideoResult" style="margin: 10px 0px 0px; border: 0px; width: 710px;"><button style="margin: 15px 0px 0px; padding: 0px 5px; border: 1px solid #bebebe; height: 30px; font-size: 12px; font-family: Arial, Helvetica, sans-serif;">Check</button></div></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>Web 上的视频</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">直到现在，仍然不存在一项旨在网页上显示视频的标准。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">今天，大多数视频是通过插件（比如 Flash）来显示的。然而，并非所有浏览器都拥有同样的插件。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">HTML5 规定了一种通过 video 元素来包含视频的标准方法。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>视频格式</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">当前，video 元素支持三种视频格式：</p><table style="margin: 10px 0px 0px; padding: 0px; border-style: solid; border-color: #aaaaaa; border-collapse: collapse; width: 709.0908813476563px;"><tbody style="margin: 0px; padding: 0px; border: 0px;"><tr style="margin: 0px; padding: 0px; border: 0px;"><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5;">格式</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 91.81817626953125px;">IE</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 91.81817626953125px;">Firefox</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 91.81817626953125px;">Opera</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 91.81817626953125px;">Chrome</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 91.81817626953125px;">Safari</th></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">Ogg</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">No</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">3.5+</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">10.5+</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">5.0+</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">No</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">MPEG 4</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">9.0+</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">No</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">No</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">5.0+</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">3.0+</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">WebM</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">No</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">4.0+</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">10.6+</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">6.0+</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">No</td></tr></tbody></table><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">Ogg = 带有 Theora 视频编码和 Vorbis 音频编码的 Ogg 文件</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">MPEG4 = 带有 H.264 视频编码和 AAC 音频编码的 MPEG 4 文件</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">WebM = 带有 VP8 视频编码和 Vorbis 音频编码的 WebM 文件</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>如何工作</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">如需在 HTML5 中显示视频，您所有需要的是：</p><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;video src="movie.ogg" controls="controls"&gt; &lt;/video&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_video_simple" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">TIY</a></p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">control 属性供添加播放、暂停和音量控件。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">包含宽度和高度属性也是不错的主意。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">&lt;video&gt; 与 &lt;/video&gt; 之间插入的内容是供不支持 video 元素的浏览器显示的：</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;video src="movie.ogg" width="320" height="240" controls="controls"&gt; Your browser does not support the video tag. &lt;/video&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_video_all" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">TIY</a></p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">上面的例子使用一个 Ogg 文件，适用于Firefox、Opera 以及 Chrome 浏览器。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">要确保适用于 Safari 浏览器，视频文件必须是 MPEG4 类型。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">video 元素允许多个 source 元素。source 元素可以链接不同的视频文件。浏览器将使用第一个可识别的格式：</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;video width="320" height="240" controls="controls"&gt;   &lt;source src="movie.ogg" type="video/ogg"&gt;   &lt;source src="movie.mp4" type="video/mp4"&gt; Your browser does not support the video tag. &lt;/video&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_video_all" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">TIY</a></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>Internet Explorer</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">Internet Explorer 8 不支持 video 元素。在 IE 9 中，将提供对使用 MPEG4 的 video 元素的支持。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>&lt;video&gt; 标签的属性</h2><table style="margin: 10px 0px 0px; padding: 0px; border-style: solid; border-color: #aaaaaa; border-collapse: collapse; width: 709.0908813476563px;"><tbody style="margin: 0px; padding: 0px; border: 0px;"><tr style="margin: 0px; padding: 0px; border: 0px;"><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 120.90908813476563px;">属性</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5; width: 91.81817626953125px;">值</th><th style="margin: 0px; padding: 5px 15px 5px 5px; border: 1px solid #aaaaaa; vertical-align: baseline; background-color: #d5d5d5;">描述</th></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef; background-image: url(http://www.w3school.com.cn/i/site_table_bg.gif); background-position: 100% 0%; background-repeat: no-repeat no-repeat;"><a href="http://www.w3school.com.cn/html5/att_video_autoplay.asp" title="HTML5 &lt;video&gt; autoplay 属性" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">autoplay</a></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">autoplay</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">如果出现该属性，则视频在就绪后马上播放。</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef; background-image: url(http://www.w3school.com.cn/i/site_table_bg.gif); background-position: 100% 0%; background-repeat: no-repeat no-repeat;"><a href="http://www.w3school.com.cn/html5/att_video_controls.asp" title="HTML5 &lt;video&gt; controls 属性" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">controls</a></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">controls</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">如果出现该属性，则向用户显示控件，比如播放按钮。</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef; background-image: url(http://www.w3school.com.cn/i/site_table_bg.gif); background-position: 100% 0%; background-repeat: no-repeat no-repeat;"><a href="http://www.w3school.com.cn/html5/att_video_height.asp" title="HTML5 &lt;video&gt; height 属性" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">height</a></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><em style="margin: 0px; padding: 0px; border: 0px;">pixels</em></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">设置视频播放器的高度。</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef; background-image: url(http://www.w3school.com.cn/i/site_table_bg.gif); background-position: 100% 0%; background-repeat: no-repeat no-repeat;"><a href="http://www.w3school.com.cn/html5/att_video_loop.asp" title="HTML5 &lt;video&gt; loop 属性" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">loop</a></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">loop</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">如果出现该属性，则当媒介文件完成播放后再次开始播放。</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef; background-image: url(http://www.w3school.com.cn/i/site_table_bg.gif); background-position: 100% 0%; background-repeat: no-repeat no-repeat;"><a href="http://www.w3school.com.cn/html5/att_video_preload.asp" title="HTML5 &lt;video&gt; preload 属性" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">preload</a></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">preload</td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><p style="margin: 0px; padding: 0px; border: 0px; line-height: 18px;">如果出现该属性，则视频在页面加载时进行加载，并预备播放。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">如果使用 "autoplay"，则忽略该属性。</p></td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef; background-image: url(http://www.w3school.com.cn/i/site_table_bg.gif); background-position: 100% 0%; background-repeat: no-repeat no-repeat;"><a href="http://www.w3school.com.cn/html5/att_video_src.asp" title="HTML5 &lt;video&gt; src 属性" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">src</a></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><em style="margin: 0px; padding: 0px; border: 0px;">url</em></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">要播放的视频的 URL。</td></tr><tr style="margin: 0px; padding: 0px; border: 0px;"><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef; background-image: url(http://www.w3school.com.cn/i/site_table_bg.gif); background-position: 100% 0%; background-repeat: no-repeat no-repeat;"><a href="http://www.w3school.com.cn/html5/att_video_width.asp" title="HTML5 &lt;video&gt; width 属性" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">width</a></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;"><em style="margin: 0px; padding: 0px; border: 0px;">pixels</em></td><td style="margin: 0px; padding: 5px 15px 5px 5px; border-style: solid; border-color: #aaaaaa; vertical-align: text-top; background-color: #efefef;">设置视频播放器的宽度。</td></tr></tbody></table></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>相关页面</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">参考手册：<a href="http://www.w3school.com.cn/html5/tag_video.asp" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">HTML 5 &lt;video&gt; 标签</a></p></div><img src ="http://www.blogjava.net/qileilove/aggbug/412159.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/qileilove/" target="_blank">顺其自然EVO</a> 2014-04-09 17:28 <a href="http://www.blogjava.net/qileilove/articles/412159.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML 5 简介</title><link>http://www.blogjava.net/qileilove/articles/412158.html</link><dc:creator>顺其自然EVO</dc:creator><author>顺其自然EVO</author><pubDate>Wed, 09 Apr 2014 09:27:00 GMT</pubDate><guid>http://www.blogjava.net/qileilove/articles/412158.html</guid><wfw:comment>http://www.blogjava.net/qileilove/comments/412158.html</wfw:comment><comments>http://www.blogjava.net/qileilove/articles/412158.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/qileilove/comments/commentRss/412158.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/qileilove/services/trackbacks/412158.html</trackback:ping><description><![CDATA[<div id="intro" style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><p style="margin: 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: 微软雅黑; font-size: 14px; font-weight: 800;">HTML5 是下一代的 HTML。</span></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>什么是 HTML5？</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">HTML5 将成为 HTML、XHTML 以及 HTML DOM 的新标准。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">HTML 的上一个版本诞生于 1999 年。自从那以后，Web 世界已经经历了巨变。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">HTML5 仍处于完善之中。然而，大部分现代浏览器已经具备了某些 HTML5 支持。</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>HTML5 是如何起步的？</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">HTML5 是 W3C 与 WHATWG 合作的结果。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">编者注：</span>W3C 指 World Wide Web Consortium，万维网联盟。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-weight: bold;">编者注：</span>WHATWG 指 Web Hypertext Application Technology Working Group。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">WHATWG 致力于 web 表单和应用程序，而 W3C 专注于 XHTML 2.0。在 2006 年，双方决定进行合作，来创建一个新版本的 HTML。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">为 HTML5 建立的一些规则：</p><ul style="margin: 10px 0px 0px 35px; padding: 0px; border: 0px;"><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">新特性应该基于 HTML、CSS、DOM 以及 JavaScript。</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">减少对外部插件的需求（比如 Flash）</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">更优秀的错误处理</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">更多取代脚本的标记</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">HTML5 应该独立于设备</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">开发进程应对公众透明</li></ul></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>新特性</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">HTML5 中的一些有趣的新特性：</p><ul style="margin: 10px 0px 0px 35px; padding: 0px; border: 0px;"><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">用于绘画的 canvas 元素</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">用于媒介回放的 video 和 audio 元素</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">对本地离线存储的更好的支持</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">新的特殊内容元素，比如 article、footer、header、nav、section</li><li style="margin: 3px 0px 0px; padding: 0px; border: 0px;">新的表单控件，比如 calendar、date、time、email、url、search</li></ul></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>浏览器支持</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">最新版本的 Safari、Chrome、Firefox 以及 Opera 支持某些 HTML5 特性。Internet Explorer 9 将支持某些 HTML5 特性。</p></div><img src ="http://www.blogjava.net/qileilove/aggbug/412158.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/qileilove/" target="_blank">顺其自然EVO</a> 2014-04-09 17:27 <a href="http://www.blogjava.net/qileilove/articles/412158.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML 5 教程</title><link>http://www.blogjava.net/qileilove/articles/412157.html</link><dc:creator>顺其自然EVO</dc:creator><author>顺其自然EVO</author><pubDate>Wed, 09 Apr 2014 09:26:00 GMT</pubDate><guid>http://www.blogjava.net/qileilove/articles/412157.html</guid><wfw:comment>http://www.blogjava.net/qileilove/comments/412157.html</wfw:comment><comments>http://www.blogjava.net/qileilove/articles/412157.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/qileilove/comments/commentRss/412157.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/qileilove/services/trackbacks/412157.html</trackback:ping><description><![CDATA[<div id="intro" style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><p style="margin: 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: 微软雅黑; font-size: 14px; font-weight: 800;">HTML5 是下一代的 HTML。</span></p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><span style="margin: 0px; padding: 0px; border: 0px; font-family: 微软雅黑; font-size: 14px; font-weight: 800;">本教程向您讲解 HTML5 中的新特性。</span></p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>每一章中的实例</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">通过我们的 HTML 编辑器，您能够编辑 HTML，然后点击按钮来查看结果。</p><h3>实例</h3><pre style="margin-top: 10px; margin-bottom: 0px; padding: 10px; border: 1px dotted #778855; font-family: 'Courier New', Courier, monospace; width: 685px; background-color: #f5f5f5;">&lt;!DOCTYPE HTML&gt; &lt;html&gt; &lt;body&gt;  &lt;video width="320" height="240" controls="controls"&gt;   &lt;source src="movie.ogg" type="video/ogg"&gt;   &lt;source src="movie.mp4" type="video/mp4"&gt; Your browser does not support the video tag. &lt;/video&gt;  &lt;/body&gt; &lt;/html&gt; </pre><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/tiy/t.asp?f=html5_video_all" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">TIY</a></p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">请点击 TIY 按钮来查看它是如何工作的。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/html5/html_5_intro.asp" title="HTML5 简介" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">现在就开始学习 HTML5</a>&nbsp;！</p></div><div style="margin: 0px 0px 0px 15px; padding-top: 20px; padding-bottom: 20px; border-width: 1px 0px; border-top-style: solid; border-bottom-style: solid; border-top-color: #aaaaaa; border-bottom-color: #aaaaaa; width: 710px; font-family: Verdana, Arial, 宋体; font-size: 11.818181991577148px; line-height: normal; background-color: #f9f9f9;"><h2>HTML5 参考手册</h2><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;">在 W3School，您将找到有关 HTML5 标签、标准属性以及标准事件等内容的完整参考。</p><p style="margin: 12px 0px 0px; padding: 0px; border: 0px; line-height: 18px;"><a href="http://www.w3school.com.cn/html5/html5_reference.asp" title="HTML 5 参考手册" style="margin: 0px; padding: 0px; border: 0px; color: #900b09; background-color: transparent;">HTML5 标签参考手册</a></p></div><img src ="http://www.blogjava.net/qileilove/aggbug/412157.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/qileilove/" target="_blank">顺其自然EVO</a> 2014-04-09 17:26 <a href="http://www.blogjava.net/qileilove/articles/412157.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>