مشاهده ی خروجی در JSBin
نوشته شده توسط : علی پور

در کد بالا آغاز یک شیء EventSource ساخته ایم و آدرس URL ورقه ای را به آن داده ایم که اعلان ها یا این که بروزرسانی ها را می فرستد (در این نمونه -> demo_sse .php) . هر توشه که بروزرسانی ای دریافت شود، اتفاق افتاد onmessage اجرا خواهد شد و هنگامی که این رویداد اجرا شود داده های ارسالی را گرفته و در عنصری با id برابر با "id="result قرار می دهد . بقیه ی قسمت های کد برای نظارت کردن پشتیبانی مرورگر از این قابلیت بودند .
صورت بی آلایش و قطع شده ی آن به این فیس است:
if(typeof(EventSource)
!== "undefined") {
// مرورگر از Server-sent event پشتیبانی می کند
// کد زمینه لحاظ را اینجا بنویسید }
else { // متاسفانه مرورگر شما از Server-sent event پشتیبانی نمی کند .

طراحی سایت در مشهد
}
1
2
3
4
5
6
if(typeof(EventSource)
!== "undefined") {
// مرورگر از Server-sent event پشتیبانی می کند
// کد قضیه لحاظ را اینجا بنویسید }
else { // متاسفانه مرورگر شما از Server-sent event پشتیبانی نمی نماید .
}
البته ما هنوز کد های باطن demo_sse .php را ندیده ایم . برای اینکه نمونه بالا فعالیت کند بایستی سروری داشته باشید که قابلیت و امکان ارسال بروزرسانی را داشته باشد (مانند PHP یا ASP) . کدنویسی سمت سرور برای این مثال ساده است؛ باید مقدار Content-Type در header را روی "text/event-stream" تهیه نمایید و سپس می توانید بروزرسانی هایتان را به ورقه ی اینترنت ارسال فرمایید .
محتوای فولدر به این شکل است:
header('Content-Type:
text/event-stream'); header('Cache-Control:
no-cache');
$time
= date('r'); echo
"data: The server time is: {$time}\n\n"; flush();
?>
1
2
3
4
5
6
7
8
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 بنویسیم می گوییم:
<%
Response .ContentType
= "text/event-stream" Response .Expires
= -1 Response .Write("data:
The server time is: " & now()) Response .Flush()
%>
1
2
3
4
5
6
<%
Response .ContentType
= "text/event-stream" Response .Expires
= -1 Response .Write("data:
The server time is: " & now()) Response .Flush()
%>
همانطور که گفتیم مقدمه Content-Type را روی text/event-stream تنظیم کرده ایم . بعد از آن گفته ایم که ورقه نباید چیزی را cache کند (اگر cache شود دیگر بروزرسانی سناریو داده نخواهد شد) . در سطح ی سپس داده های موضوع حیث را برای ارسال آماده کرده ایم (همیشه با " :data" شروع شود) و در انتها داده را با امر Flush به سمت ورقه می فرستیم تا نمایش داده شود .

ما
در نمونه بالا از روی داد onmessage استعمال کرده ایم اما اتفاق افتاد های دیگری هم وجود دارد:
onopen: زمانی که اتصال با سرور برقرار می شود .
onmessage: وقتی که پیامی دریافت می شود .
onerror: وقتی که خطایی صورت می دهد .
امیدوارم از این قسمت لذت برده باشید . این قسمت، قسمت آخر از این محرمانه آموزشی بود اما در آتی ممکن است مقالات مستقلی در اختیار شما دوستان خوب قرار دهیم . شما با گذراندن این دوره با تمام مسائل با اهمیت و جزئی HTML آشنا گردیده اید و می توانید یک برگه ی وب را اساس ریزی فرمایید .
تا عصر ای دیگر بدرود!





:: برچسب‌ها: طراحی سایت در مشهد ,
:: بازدید از این مطلب : 292
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : دو شنبه 10 تير 1398 | نظرات ()
مطالب مرتبط با این پست
لیست
می توانید دیدگاه خود را بنویسید


نام
آدرس ایمیل
وب سایت/بلاگ
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

آپلود عکس دلخواه: