亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Acara Dihantar Pelayan HTML5

Acara Dihantar Pelayan HTML5

Acara dihantar pelayan HTML5 membolehkan halaman web mendapat kemas kini daripada pelayan.

Sokongan Penyemak Imbas

Semua penyemak imbas utama menyokong acara yang dihantar pelayan kecuali Internet Explorer.

Acara Dihantar Pelayan - pemesejan sehala

Acara Dihantar Pelayan merujuk kepada halaman web yang mendapat kemas kini secara automatik daripada pelayan.

Ini juga mungkin sebelum ini, jika halaman web perlu bertanya sama ada kemas kini tersedia. Dengan menghantar acara melalui pelayan, kemas kini boleh tiba secara automatik.

Contoh: Kemas kini Facebook/Twitter, kemas kini penilaian, catatan blog baharu, hasil acara, dsb.

Dapatkan data yang dihantar oleh pelayan di sisi klien dan kemas kini

<!DOCTYPE html>
<html>
<body>
<h1>獲得服務(wù)器更新</h1>
<div id="result">
</div>
<script>if(typeof(EventSource)!=="undefined"){ 
 var source=new EventSource("http://www.w3school.com.cn/example/html5/demo_sse.php"); 
  source.onmessage=function(event) 
   {  
      document.getElementById("result").innerHTML+=event.data + "<br />"; 
       };
       }else{  
       document.getElementById("result").innerHTML="Sorry, your browser does not support server-sent events...";}
       </script>
       </body>
       </html>

Kod pelayan sokongan (PHP atau ASP) adalah seperti berikut:

<?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();
    ?>

Penjelasan kod:

Tetapkan pengepala "Content-Type" kepada "text/event-stream"

Nyatakan bahawa halaman tidak dicache

Output tarikh penghantaran (sentiasa bermula dengan "data : ")

Muat semula data output ke halaman web

Kesan sokongan acara Dihantar Pelayan

Dalam contoh berikut, kami menulis sekeping kod tambahan untuk mengesan acara yang dihantar pelayan Sokongan penyemak imbas:

if(typeof(EventSource)!=="undefined")
{
  // 瀏覽器支持 Server-Sent
  // 一些代碼.....
}
else
{
// 瀏覽器不支持 Server-Sent..
}

Contoh kod sisi pelayan

Untuk contoh di atas berfungsi, anda juga memerlukan pelayan yang boleh menghantar kemas kini data (seperti PHP dan ASP).

Sintaks penstriman acara sebelah pelayan adalah sangat mudah. Tetapkan pengepala "Jenis Kandungan" kepada "strim teks/acara". Kini anda boleh mula menghantar strim acara.

Contoh

<?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();
?>
ASP 代碼 (VB) (demo_sse.asp):
<%
Response.ContentType="text/event-stream"
Response.Expires=-1
Response.Write("data: " & now())
Response.Flush()
%>

Penjelasan kod:

Tetapkan pengepala "Content-Type" kepada "text/event-stream"

Nyatakan bahawa halaman akan tidak boleh dicache

Tarikh dihantar keluaran (sentiasa bermula dengan "data: ")

Muat semula data output ke halaman web

objek EventSource

Dalam contoh di atas, kami Gunakan acara onmessage untuk mendapatkan mesej. Walau bagaimanapun, acara lain juga boleh digunakan:

acara ? ? ? ? ? ? ? ? ? ? ? Penerangan Apabila Diterima mesej

onerror Apabila ralat berlaku

>

Meneruskan pembelajaran
||
<?php header('Content-Type: text/event-stream'); header('Cache-Control: no-cache'); $time = date('r'); echo "data: 服務(wù)器時(shí)間: {$time}\n\n"; flush(); ?>