Heim > Web-Frontend > Front-End-Fragen und Antworten > Was sind die Funktionen von HTML5?

Was sind die Funktionen von HTML5?

青灯夜游
Freigeben: 2021-12-01 14:04:22
Original
9808 Leute haben es durchsucht

HTML5-Funktionen umfassen: 1. Semantische Tags; 3. Unterstützung von Video- und Audiowiedergabe; 6. Drag-and-Drop-API; Arbeiter; 9. Webspeicher; 10. WebSocket.

Was sind die Funktionen von HTML5?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, HTML5-Version, Dell G3-Computer.

Die zehn wichtigsten neuen Funktionen von HTML5

Um die heutigen Internetanwendungen besser bewältigen zu können, fügt HTML5 viele neue Elemente und Funktionen hinzu, z. B. Grafikzeichnung, Multimedia-Inhalte, bessere Seitenstruktur, bessere Formularverarbeitung und mehrere APIs zum Ziehen und Ablegen von Elementen, Positionierung, einschließlich Zwischenspeicherung von Webanwendungen, Speicherung, Netzwerkarbeitern usw.

(1) Semantische Tags

Semantische Tags machen den Inhalt der Seite strukturiert und sichtbar

Tag Beschreibung
Definiert den Kopfbereich des Dokuments
Definiert den Endbereich
definiert die Navigation des Dokuments
definiert die Abschnitte (Abschnitte, Abschnitte) im Dokument
Definieren Sie einen unabhängigen Inhaltsbereich der Seite
Definieren Sie den Seitenleisteninhalt der Seite
< /detailes> Wird verwendet, um die Details eines Dokuments oder eines Abschnitts eines Dokuments zu beschreiben
Das Tag enthält den Titel des Detailelements
Dialogfelder definieren, z. B. Eingabeaufforderungsfelder

(2) Erweiterte Formulareingabetypen

 HTML5 verfügt über mehrere neue Formulareingabetypen. Diese neuen Funktionen sorgen für eine bessere Eingabekontrolle und -validierung.

DateTime-Local E-Mail-Adresse Wählen Sie einen Monat aus Eingabefeld für numerische WerteEingabefeld für numerische Werte innerhalb eines bestimmten Bereichsfür Suchdomäne Eingabefeld für Telefonnummer definieren Wählen Sie eine Uhrzeit aus Eingabefeld für URL-Adresse Woche und Jahr auswählen

Eingabetyp

Beschreibung

Farbe

Wird hauptsächlich zur Auswahl einer Farbe verwendet

Datum

Wählen Sie ein Datum aus äh

datetime

Wählen Sie ein Datum (UTC-Zeit)

Wählen Sie ein Datum und eine Uhrzeit (Zeitplan)

Monat

Zahl

Bereich

Suche

tel

Zeit

URL

Woche

HTML5 fügt außerdem die folgenden Formularelemente hinzu:

Formularelement: Beschreibung: des -Element

Bietet eine zuverlässige Möglichkeit zur Authentifizierung des Benutzers wird für verschiedene Arten der Ausgabe

Das Tag gibt das für das Formulargeneratorfeld verwendete Schlüsselpaar an.

wie Berechnungen oder Skriptausgaben

verwendet

 HTML5s neues Formularattribut

    • placehoder-Attribut, eine kurze Eingabeaufforderung wird im Eingabefeld angezeigt, bevor der Benutzer den Wert eingibt. Das heißt, unsere übliche Standardaufforderung des Eingabefelds verschwindet, nachdem der Benutzer Eingaben gemacht hat.
    • erforderliches Attribut ist ein boolesches Attribut. Das auszufüllende Eingabefeld darf nicht leer sein. Das Musterattribut beschreibt einen regulären Ausdruck, der zur Überprüfung des Werts des
    • min- und max-Attribute legen den minimalen und maximalen Wert des Elements fest. Das Attribut „step“ gibt das zulässige Zahlenintervall für das Eingabefeld an.
    • height- und width-Attribute, die für die Bildhöhe und -breite von -Tags verwendet werden.
    • Autofokus-Attribut ist ein boolesches Attribut. Gibt an, dass das Feld automatisch den Fokus erhält, wenn die Seite geladen wird.
    • Multiple-Attribut ist ein boolesches Attribut. Gibt an, dass innerhalb des -Elements mehrere Werte ausgewählt werden können. ​​
    (3) Video und Audio

HTML5 bietet einen Standard für die Wiedergabe von Audiodateien, d. h. die Verwendung des

     Zwischen

HTML5 gibt eine Standardmethode zum Einbinden von Videos über das Videoelement an.

<audio controls>
  <source src="horse.ogg" type="audio/ogg">
  <source src="horse.mp3" type="audio/mpeg">
您的浏览器不支持 audio 元素。
</audio>
Nach dem Login kopieren

control bietet Wiedergabe-, Pause- und Lautstärkeregler zur Steuerung des Videos. Sie können auch DOM-Operationen verwenden, um die Wiedergabe und Pause des Videos zu steuern, beispielsweise die Methoden play() und pause().

Gleichzeitig stellt das Videoelement auch Breiten- und Höhenattribute bereit, um die Größe des Videos zu steuern. Wenn Höhe und Breite festgelegt sind, wird beim Laden der Seite der erforderliche Videoplatz reserviert. Wenn diese Eigenschaften nicht festgelegt sind und der Browser die Größe des Videos nicht kennt, kann der Browser beim Laden keinen bestimmten Platz reservieren und die Seite ändert sich basierend auf der Größe des Originalvideos. Der zwischen den Tags

    und eingefügte Inhalt wird für die Anzeige in Browsern bereitgestellt, die das Videoelement nicht unterstützen.
  • Das Videoelement unterstützt mehrere Quellelemente. Elemente können verschiedene Videodateien verknüpfen. Der Browser verwendet das erste erkannte Format (MP4, WebM und Ogg)

(4) Leinwandzeichnung

Beschriftungen sind nur Grafikcontainer und zum Zeichnen von Grafiken müssen Skripte verwendet werden.

Canvas – Grafiken

1. Eine Leinwand ist ein rechteckiges Feld auf einer Webseite, das durch das Element gezeichnet wird. Standardmäßig haben Elemente keine Rahmen und keinen Inhalt.
<video width="320" height="240" controls>
  <source src="movie.mp4" type="video/mp4">
  <source src="movie.ogg" type="video/ogg">
您的浏览器不支持Video标签。
</video>
Nach dem Login kopieren
  Tags müssen normalerweise ein ID-Attribut (oft in Skripts referenziert) sowie Breiten- und Höhenattribute angeben, um die Größe der Leinwand zu definieren, und das Stilattribut verwenden, um einen Rahmen hinzuzufügen. Sie können mehrere -Elemente in einer HTML-Seite verwenden.

2 Verwenden Sie Javascript, um Bilder zu zeichnen. Alle Zeichenarbeiten müssen in JavaScript durchgeführt werden

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #000000;"></canvas>
Nach dem Login kopieren

 Das getContext("2d")-Objekt ist ein integriertes HTML5-Objekt mit mehreren Methoden zum Zeichnen von Pfaden, Rechtecken, Kreisen, Zeichen und zum Hinzufügen von Bildern.   Das Festlegen der fillStyle-Eigenschaft kann eine CSS-Farbe, ein Farbverlauf oder ein Muster sein. Die Standardeinstellung für fillStyle ist #000000 (schwarz). Die Methode fillRect(x,y,width,height) definiert die aktuelle Füllmethode des Rechtecks. Bedeutung: Zeichnen Sie ein 150x75 großes Rechteck auf die Leinwand, beginnend in der oberen linken Ecke (0,0).

Canvas – Pfad

Um eine Linie auf Canvas zu zeichnen, verwenden wir die folgenden zwei Methoden:

moveTo(x,y), um die Startkoordinaten der Linie zu definieren

lineTo(x, y) um das Ende der Linie zu definieren. Um Linien mit Koordinaten zu zeichnen

    müssen wir die „ink“-Methode verwenden, genau wie Stroke().
  • <script>
      var c=document.getElementById("myCanvas");
      var ctx=c.getContext("2d");
      ctx.fillStyle="#FF0000";
      ctx.fillRect(0,0,150,75);
    </script>
    Nach dem Login kopieren

    Definieren Sie die Startkoordinate (0,0) und die Endkoordinate (200,100). Verwenden Sie dann die Methode „Stroke()“, um die Linie zu zeichnen und Methoden sind wie folgt:

  • font – Definieren Sie die Schriftart

fillText(text,x,y) – Volltext auf Leinwand zeichnen

StrokeText(text,x,y) – Hohltext auf zeichnen Leinwand

Verwenden Sie fillText():

<script>
    var c=document.getElementById("myCanvas");
    var ctx=c.getContext("2d");
    ctx.moveTo(0,0);
    ctx.lineTo(200,100);
    ctx.stroke();
</script>
Nach dem Login kopieren
    Verwenden Sie die Schriftart „Arial“, um einen 30 Pixel hohen Text (durchgehend) auf der Leinwand zu zeichnen.
  • Leinwand – Farbverlauf
  • Der Farbverlauf kann Rechtecke, Kreise, Linien, Text usw. füllen. usw. Verschiedene Formen können mit verschiedenen Farben angepasst werden.

  • Es gibt zwei verschiedene Möglichkeiten, den Canvas-Verlauf festzulegen:
  • createLinearGradient(x,y,x1,y1) – Erstellen Sie einen Linienverlauf

createRadialGradient(x,y,r,x1,y1,r1) - Erstellen Sie einen radialen/kreisförmigen Farbverlauf

当我们使用渐变对象,必须使用两种或两种以上的停止颜色。

addColorStop()方法指定颜色停止,参数使用坐标来描述,可以是0至1.

使用渐变,设置fillStyle或strokeStyle的值为渐变,然后绘制形状,如矩形,文本,或一条线。

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");

// Create gradient
var grd=ctx.createLinearGradient(0,0,200,0);
grd.addColorStop(0,"red");
grd.addColorStop(1,"white");

// Fill with gradient
ctx.fillStyle=grd;
ctx.fillRect(10,10,150,80);
Nach dem Login kopieren

  创建了一个线性渐变,使用渐变填充矩形

Canvas - 图像

  把一幅图像放置到画布上, 使用 drawImage(image,x,y) 方法

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var img=document.getElementById("scream");
ctx.drawImage(img,10,10);
Nach dem Login kopieren

  把一幅图像放置到了画布上

(5)SVG绘图

  SVG是指可伸缩的矢量图形

SVG 与 Canvas两者间的区别

  SVG 是一种使用 XML 描述 2D 图形的语言。

  Canvas 通过 JavaScript 来绘制 2D 图形。

  SVG 基于 XML,这意味着 SVG DOM 中的每个元素都是可用的。您可以为某个元素附加 JavaScript 事件处理器。

  在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。

  Canvas 是逐像素进行渲染的。在 canvas 中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。

(6)地理定位

  HTML5 Geolocation(地理定位)用于定位用户的位置。

window.navigator.geolocation {
    getCurrentPosition:  fn  用于获取当前的位置数据
    watchPosition: fn  监视用户位置的改变
    clearWatch: fn  清除定位监视
} 
Nach dem Login kopieren

  获取用户定位信息:

navigator.geolocation.getCurrentPosition(
    function(pos){
    console.log(&#39;用户定位数据获取成功&#39;)
    //console.log(arguments);
    console.log(&#39;定位时间:&#39;,pos.timestamp)
    console.log(&#39;经度:&#39;,pos.coords.longitude)
    console.log(&#39;纬度:&#39;,pos.coords.latitude)
    console.log(&#39;海拔:&#39;,pos.coords.altitude)
    console.log(&#39;速度:&#39;,pos.coords.speed)

},    //定位成功的回调
function(err){ 
    console.log(&#39;用户定位数据获取失败&#39;)
    //console.log(arguments);

}        //定位失败的回调
)
Nach dem Login kopieren

(7)拖放API

  拖放是一种常见的特性,即抓取对象以后拖到另一个位置。在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放。

  拖放的过程分为源对象和目标对象。源对象是指你即将拖动元素,而目标对象则是指拖动之后要放置的目标位置。

拖放的源对象(可能发生移动的)可以触发的事件——3个:

  • dragstart:拖动开始

  • drag:拖动中

  • dragend:拖动结束

整个拖动过程的组成: dragstart*1 + drag*n + dragend*1

拖放的目标对象(不会发生移动)可以触发的事件——4个:

  • dragenter:拖动着进入

  • dragover:拖动着悬停

  • dragleave:拖动着离开

  • drop:释放

整个拖动过程的组成1: dragenter*1 + dragover*n + dragleave*1

整个拖动过程的组成2: dragenter*1 + dragover*n + drop*1

  • dataTransfer:用于数据传递的“拖拉机”对象;

在拖动源对象事件中使用e.dataTransfer属性保存数据:

e.dataTransfer.setData( k,  v )
Nach dem Login kopieren

在拖动目标对象事件中使用e.dataTransfer属性读取数据:

var value = e.dataTransfer.getData( k )
Nach dem Login kopieren

(8)Web Worker

  当在 HTML 页面中执行脚本时,页面的状态是不可响应的,直到脚本已完成。

  web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能。您可以继续做任何愿意做的事情:点击、选取内容等等,而此时 web worker 在后台运行。

  首先检测浏览器是否支持 Web Worker

 if(typeof(Worker)!=="undefined"){
   // 是的! Web worker 支持!
   // 一些代码.....
   }else{
   // //抱歉! Web Worker 不支持
   }
Nach dem Login kopieren

  下面的代码检测是否存在 worker,如果不存在,- 它会创建一个新的 web worker 对象,然后运行 "demo_workers.js" 中的代码

 if(typeof(w)=="undefined")
   {
   w=new Worker("demo_workers.js");
   }
Nach dem Login kopieren

  然后我们就可以从 web worker 发送和接收消息了。向 web worker 添加一个 "onmessage" 事件监听器:

 w.onmessage=function(event){
 document.getElementById("result").innerHTML=event.data;
 };
Nach dem Login kopieren

  当 web worker 传递消息时,会执行事件监听器中的代码。event.data 中存有来自 event.data 的数据。当我们创建 web worker 对象后,它会继续监听消息(即使在外部脚本完成之后)直到其被终止为止。

如需终止 web worker,并释放浏览器/计算机资源,使用 terminate() 方法。

完整的 Web Worker 实例代码

<!DOCTYPE html>
<html>
<body>

<p>Count numbers: <output id="result"></output></p>
<button onclick="startWorker()">Start Worker</button> 
<button onclick="stopWorker()">Stop Worker</button>
<br><br>

<script>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();
}</script>

</body>
</html>
Nach dem Login kopieren

  创建的计数脚本,该脚本存储于 "demo_workers.js" 文件中

var i=0;

 function timedCount()
 {
 i=i+1;
 postMessage(i);
 setTimeout("timedCount()",500);
 }

 timedCount();
Nach dem Login kopieren

(9)Web Storage

  使用HTML5可以在本地存储用户的浏览数据。早些时候,本地存储使用的是cookies。但是Web 存储需要更加的安全与快速. 这些数据不会被保存在服务器上,但是这些数据只用于用户请求网站数据上.它也可以存储大量的数据,而不影响网站的性能。数据以 键/值 对存在, web网页的数据只允许该网页访问使用。

客户端存储数据的两个对象为:

  • localStorage - 没有时间限制的数据存储

  • sessionStorage - 针对一个 session 的数据存储, 当用户关闭浏览器窗口后,数据会被删除。

  在使用 web 存储前,应检查浏览器是否支持 localStorage 和sessionStorage

if(typeof(Storage)!=="undefined")
   {
   // 是的! 支持 localStorage  sessionStorage 对象!
   // 一些代码.....
   }
 else
   {
   // 抱歉! 不支持 web 存储。
   }
Nach dem Login kopieren

  不管是 localStorage,还是 sessionStorage,可使用的API都相同,常用的有如下几个(以localStorage为例):

    • 保存数据:localStorage.setItem(key,value);
    • 读取数据:localStorage.getItem(key);
    • 删除单个数据:localStorage.removeItem(key);
    • 删除所有数据:localStorage.clear();
    • 得到某个索引的key:localStorage.key(index);

(10)WebSocket

  WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。在WebSocket API中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。浏览器通过 JavaScript 向服务器发出建立 WebSocket 连接的请求,连接建立以后,客户端和服务器端就可以通过 TCP 连接直接交换数据。当你获取 Web Socket 连接后,你可以通过 send() 方法来向服务器发送数据,并通过 onmessage 事件来接收服务器返回的数据。

<!DOCTYPE HTML>
<html>
   <head>
   <meta charset="utf-8">
   <title>W3Cschool教程(w3cschool.cn)</title>
    
      <script type="text/javascript">
         function WebSocketTest()
         {
            if ("WebSocket" in window)
            {
               alert("您的浏览器支持 WebSocket!");
               
               // 打开一个 web socket
               var ws = new WebSocket("ws://localhost:9998/echo");
                
               ws.onopen = function()
               {
                  // Web Socket 已连接上,使用 send() 方法发送数据
                  ws.send("发送数据");
                  alert("数据发送中...");
               };
                
               ws.onmessage = function (evt) 
               { 
                  var received_msg = evt.data;
                  alert("数据已接收...");
               };
                
               ws.onclose = function()
               { 
                  // 关闭 websocket
                  alert("连接已关闭..."); 
               };
            }
            
            else
            {
               // 浏览器不支持 WebSocket
               alert("您的浏览器不支持 WebSocket!");
            }
         }
      </script>
        
   </head>
   <body>
   
      <div id="sse">
         <a href="javascript:WebSocketTest()">运行 WebSocket</a>
      </div>
      
   </body>
</html>
Nach dem Login kopieren

推荐教程:《html视频教程

Das obige ist der detaillierte Inhalt vonWas sind die Funktionen von HTML5?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage