2013
2014 |
2015 |
2016 |
| HTML 5.0
|
候補バージョン
|
推奨標準
|
第一作業草案
|
|
| 候補バージョン
|
推奨規格 |
HTML 5.2
|
|
|
|
|
|
ヒント:
Q: WHATWG とは何ですか?
A: Mozilla Foundation と Opera Software は 2004 年 6 月に W3C に意見書を提出しましたが、拒否されました。Mozilla、Opera、Apple は独自の WHATWG (Web Hypertext Technology Working Group) を設立し、Web Apps 1.0 も提案しました。
Q: HTML5.0 と HTML5.1 の違いは何ですか?
A: 5.1 は 5.0 のスーパーセットです。5.0 には、安定した機能と、5.0 で省略されたその他の新機能が含まれています。目的: HTML5 をできるだけ早く完成させるために、W3C はいくつかの不安定な機能を放棄します。物議を醸す要素は、後続のバージョン 5.1 で検討されます。
HTML5 は HTML5 のビデオとオーディオを詳しく紹介します
これまで、Web ページ上でビデオとオーディオを表示するための標準はまだ存在せず、ほとんどはプラグイン (Flash など) を介して表示されます
; HTML5 では、次のコードに示すように、ビデオ タグとオーディオ タグを使用して、プラグインに依存せずにオーディオとビデオを再生できます。
XML/HTML コード コンテンツをクリップボードにコピーします
<video width="320" height="240" controls="controls">
<source src="/i/movie.ogg" type="video/ogg">
<source src="/i/movie.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
ログイン後にコピー
XML /HTML コード コンテンツをクリップボードにコピーします。 ボード
<audio controls="controls">
<source src="/i/song.ogg" type="audio/ogg">
<source src="/i/song.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
ログイン後にコピー
は次のとおりです。ビデオとオーディオのレンダリングです。メソッド、プロパティ、イベント。 js を使用して、ビデオとオーディオの再生や一時停止などのアクションを動的に制御できます。
2. ビデオおよびオーディオ要素では複数のソース要素が許可されます。ソース要素は異なるファイルをリンクできます。ブラウザは最初に認識された形式を使用します
PS: YouTube はデフォルトで HTML5 プレーヤーを使用します。次のように、公式 Web サイト www.youtube.com にログインしてソース コードを表示できます。 Canvas & SVG
Canvas
HTML5 の Canvas 要素は、JavaScript を使用して Web ページ上に画像を描画し、パス、長方形、円、文字を描画し、画像を追加する複数のメソッドを備えています。
xml/htmlコードは、コンテンツをクリップボードにコピーします
rreee
以下はレンダリングです。
Canvas と SVG の一般的なアプリケーション
Canvas と SVG を使用すると、以下の例に示すように、多くの小さなアプリケーション、特に Canvas を実現できます:
HTML5 編集可能なコンテンツとドラッグ アンド ドロップ
Contenteditable global属性
Contenteditable を使用して Web ページ エディタを実装できます。現在、以下に示すように、多くの Web ページ エディタがこの属性で実装されています。
ドラッグ アンド ドロップ
HTML5 のドラッグ アンド ドロップは、ユーザー それを別のレベルに引き上げると、ユーザー インタラクションの設計方法に大きな影響を与えるでしょう。 主なイベント関数: Ondragstart()、Ondragover()、Ondrop();
以下は、p を別の p にドラッグ アンド ドロップするコード例です: JavaScript コードはコンテンツをクリップボードにコピーします
<canvas id="myCanvas" width="200" height="100" style="border:1px sopd #c3c3c3;">
Your browser does not support the canvas element.
</canvas>
<script type="text/javascript">
var c=document.getElementById("myCanvas");
var ccxt=c.getContext("2d");
cxt.moveTo(10,10);
cxt.pneTo(150,50);
cxt.pneTo(10,50);
cxt.stroke();
</script>
ログイン後にコピー
HTML5 Web ストレージ
HTML5 Web ストレージについて説明する前に、Cookie の欠点について次の 3 つの主な点について説明します。
Cookie は各 HTTP リクエストに添付され、実質的にトラフィックが増加します。
HTTPリクエスト内のCookieは平文で渡されるため、セキュリティが問題となります。 (HTTPS が使用されていない場合)
Cookie のサイズは約 4KB に制限されています。複雑なストレージのニーズには不十分です。
HTML5 Web ストレージの利点を見てみましょう: 追加のリクエスト ヘッダー データは不要
データを設定、読み取り、削除するための豊富なメソッド
デフォルトの 5MB ストレージ制限
HTML5 では、Web ストレージには 2 つの形式があります: localStorag 、sessionStorage は次のようになります。
localStorage
保存されたデータには時間制限はありません。 JavaScript コードはコンテンツをクリップボードにコピーします
<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;" />
</svg>
ログイン後にコピー
sessionStorage
ユーザーがブラウザ ウィンドウを閉じると、データは削除
JavaScript コード コンテンツをクリップボードにコピー
<script type="text/javascript">
sessionStorage.lastname="Smith";
document.write(sessionStorage.lastname);
</script>
ログイン後にコピー
Tips:
Cookie是不可或缺的:Cookie的作用是与服务器进行交互,作为HTTP规范的一部分而存在 ,而Web Storage仅仅是为了在本地“存储”数据而生。
HTML5 Web Workers
web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能(JS多线程工作解决方案)。
Web Worker的基本原理就是在当前javascript的主线程中,使用Worker类加载一个javascript文件来开辟一个新的线程,起到互不阻塞执行的效果,并且提供主线程和新线程之间数据交换的接口:postMessage,onmessage。
优势:异步执行复杂计算,不影响页面的展示
如下为一个求和的代码示例:
JavaScript Code复制内容到剪贴板
<script>
var w;
function startWorker() {
if (typeof (Worker) !== "undefined") {
if (typeof (w) == "undefined") {
w = new Worker("rs/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();
}
</script>
ログイン後にコピー
demo_workers.js文件,其中的postMessage() 方法 ,用于向 HTML 页面传回一段消息。
JavaScript Code复制内容到剪贴板
var i=0;
function timedCount()
{
i=i+1;
postMessage(i);
setTimeout("timedCount()",500);
}
timedCount();
ログイン後にコピー
Tips:
1.不能跨域加载JS
2.worker内代码不能访问DOM
HTML 5 服务器发送事件
传统的网页都是浏览器向服务器“查询”数据,但是很多场合,最有效的方式是服务器向浏览器“发送”数据。比如,每当收到新的电子邮件,服务器就向浏览器发送一个“通知”,这要比浏览器按时向服务器查询(polpng)更有效率。
HTML5 服务器发送事件(server-sent event)允许网页获得来自服务器的更新;
举个例子,如下,其中服务器端使用Java的Struts 2框架,会向浏览器发送服务器最新的时间数据:
服务端代码:
JavaScript Code复制内容到剪贴板
pubpc class SSE extends ActionSupport {
private InputStream sseStream;
pubpc InputStream getSseStream() {
return sseStream;
}
pubpc String handleSSE() {
System.out.println("Inside handleSSE() ");
String result = "data: "+new Date().toString() + "\n\n";
sseStream = new ByteArrayInputStream(result.getBytes() );
System.out.println("Exiting handleSSE() ");
return SUCCESS;
}
}
ログイン後にコピー
JavaScript Code复制内容到剪贴板
<action name="handleSSE" class="pichen.java.html5.test.SSE" method="handleSSE">
<result name="success" type="stream">
<param name="contentType">text/event-stream</param>
<param name="inputName">sseStream</param>
</result>
</action>
ログイン後にコピー
客户端代码:
JavaScript Code复制内容到剪贴板
<p><output id="result">OUTPUT VALUE</output></p>
<script>
(function(global, window, document) {
'use strict';
function main() {
window.addEventpstener('DOMContentLoaded', contentLoaded);
}
function contentLoaded() {
var result = document.getElementById('result');
var stream = new EventSource('handleSSE.action');
stream.onmessage=function(event){
var data = event.data+" by onmessage";
result.value = data;
}
}
main();
})(this, window, window.document);
</script>
ログイン後にコピー
HTML 5 表单增强功能
新的 Input 类型
•–email
•–url
•–number
•–range
•–Date pickers (date, month, week, time, datetime, datetime-local)
•–search
•–color
下图为各个input元素的效果图:
下图为各个input元素的效果图:
HTML5 的新的表单元素
–datapst
–keygen
–output
下图为datapst的示例:
HTML5 的新的表单属性
–新的 form 属性:
•autocomplete
•Novapdate
–新的 input 属性:
•autocomplete
•autofocus
•form
•height 和 width
•pst
•min, max 和 step
•multiple
•pattern (regexp)
•placeholder
•Required
•form overrides (formaction, formenctype, formmethod, formnovapdate, formtarget)
下表为各个浏览器对表单属性的支持情况:
入力タイプ
|
IE
|
Firefox
|
Opera
|
Chrome
|
Safari
|
オートコンプリート
|
8.0
|
3.5
|
9.5
|
3.0
|
4.0
|
オートフォーカス
|
いいえ
|
いいえ
| 10.0
|
3.0
|
4.0
|
フォーム
|
いいえ
|
いいえ
|
9.5
|
いいえ
|
いいえ
|
フォームの上書き
|
いいえ
|
いいえ
|
10.5
|
いいえ
|
いいえ
|
高さと幅
|
8.0
|
3.5
|
9.5
|
3.0
|
4.0
|
pst
|
いいえ
|
いいえ
|
9.5
|
いいえ
|
いいえ
|
最小、最大、歩数
|
いいえ
|
いいえ
| 9.5
|
3.0
|
いいえ
|
複数
|
いいえ
|
3.5
|
いいえ
|
3.0
|
4.0
|
novapdate
|
いいえ
|
いいえ
|
いいえ
|
いいえ
|
いいえ
|
パターン
|
いいえ
|
いいえ
|
9.5
|
3.0
|
いいえ
|
プレースホルダー
|
いいえ
|
いいえ
|
いいえ
|
3 .0
|
3.0
|
必須
| いいえ
|
いいえ
|
9.5
|
3.0
|
いいえ
|
HTML5 セマンティック タグ
HTML5 では、セマンティック タグを使用して、多数の意味のない p タグを置き換えることができます。このセマンティクス機能は、Web ページの品質とセマンティクスを向上させるだけでなく、以前に CSS または JS 呼び出しに使用されていた class 属性と id 属性を削減します。
その他の HTML 5 標準
HTML5 推奨標準 (W3C 公式 Web サイト推奨標準)
–//m.sbmmt.com/
、または w3school を参照してください
HTML5 完全な新しいタグ
–//m.sbmmt.com/
HTMLグローバルプロパティ
–//m.sbmmt.com/
グローバルイベントプロパティ
–http://www.php .cn/
HTML5 サンプル分析 Flying Bird
Phaser (オープンソースの HTML5 2D ゲーム開発フレームワーク) に基づいて、主に次の 3 つの関数を記述する必要があります:
プリロード関数 (1 回実行):
Loadリソース (背景、写真、その他のリソース)
関数の作成 (1 回実行):
鳥に下向きの重力を与えると、制御不能になったときに自動的に落下します
キーボードスペースイベントを追加し、変更しますスペースが押されたときの鳥の座標
壁イベントを作成します。1.5秒ごとに、壁の列が表示され、左に移動します(ランダムに3ブロックずつ区切られます)
更新関数(フレームごとに実行):
境界から飛び出すかどうかを判断する
壁に当たるかどうかを判断する
レンダリングは次のとおりです:
棒グラフ
主な手順:
キャンバスを使用してグラフィックを描画する
マウスクリックイベントを定義する(クリック対象を識別するためのマウス座標を取得します), $(canvas).on(" cpck",mouseCpck);
マウスホバーイベントを定義します (ホバー対象を識別するためにマウス座標を取得します), $(canvas)。 on("mousemove",mouseMove);
レンダリング:
HTML5 開発の見通し
主要ブラウザによる HTML5 の現在のサポート (フルスコアは 555 ポイント)、//m.sbmmt.com/
一言で言えば、デスクトップブラウザでもモバイルブラウザでも、Google は HTML5 を最も包括的にサポートしています。
主要な企業の行動
– Google、Flash 広告を HTML5 バージョンに自動的に変換すると発表、
– HTML 5 を使用するプレーヤー
– Amazon がすべての Flash 広告を無効化すると発表。 –Tencent、WeChat Moments ゲーム、グリーティング カードまたは招待状、QQ Zone H5 ゲーム&helpp;
–Baidu、ダイレクト アカウント
–Alibaba、UC Browser、モバイル Taobao H5 ゲーム&helpp;
上記は概要です最新の HTML 標準 HTML5 の詳細については、PHP 中国語 Web サイト (m.sbmmt.com) に注目してください。
-->