الفرق بين المراجعتين لصفحة: «JavaScript/Document/readyState»
< JavaScript | Document
إضافة الصّفحة |
ط ترجمة تعليقين |
||
(مراجعتان متوسطتان بواسطة مستخدمين اثنين آخرين غير معروضتين) | |||
سطر 9: | سطر 9: | ||
يُمكن للخاصيّة أن تحمِل القيم التّاليّة: | يُمكن للخاصيّة أن تحمِل القيم التّاليّة: | ||
* loading | * <code>"loading"</code> | ||
: المُستند لا يزال قيد التّحميل | : المُستند لا يزال قيد التّحميل | ||
* interactive | * <code>"interactive"</code> | ||
: تحميل المُستند قد انتهى، لكنّ الموارد الفرعيّة كالصّور وصفحات الأنماط | : تحميل المُستند قد انتهى، لكنّ الموارد الفرعيّة كالصّور وصفحات الأنماط والإطارات لا تزال قيد التّحميل | ||
* complete | * <code>"complete"</code> | ||
: انتهى تحميل المُستندِ وجميع موارِده الفرعيّة. هذه الحالة تُشير إلى أنّ الحدث load سيُطلَق فورًا. | : انتهى تحميل المُستندِ وجميع موارِده الفرعيّة. هذه الحالة تُشير إلى أنّ الحدث <code>load</code> سيُطلَق فورًا. | ||
يُطلَق الحدث readystatechange على كائن المُستند document عند كلّ تغيّر لقيمة هذه الخاصيّة. | يُطلَق الحدث <code>readystatechange</code> على كائن المُستند <code>[[JavaScript/Document|document]]</code> عند كلّ تغيّر لقيمة هذه الخاصيّة. | ||
==أمثلة== | ==أمثلة== | ||
سطر 26: | سطر 26: | ||
break; | break; | ||
case "interactive": | case "interactive": | ||
// اكتمَل تحميل المُستند، ويُمكننا الآن الوصول مكوّنات | // اكتمَل تحميل المُستند، ويُمكننا الآن الوصول إلى مكوّنات | ||
// DOM | // DOM | ||
var span = document.createElement("span"); | var span = document.createElement("span"); | ||
سطر 39: | سطر 39: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
استخدام الخاصيّة كبديلٍ عن الحدث DOMContentLoaded: | استخدام الخاصيّة كبديلٍ عن الحدث <code>DOMContentLoaded</code>: | ||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
// | // استخدام الخاصيّة كبديلٍ عن الحدث | ||
// DOMContentLoaded | |||
document.onreadystatechange = function () { | document.onreadystatechange = function () { | ||
if (document.readyState === "interactive") { | if (document.readyState === "interactive") { | ||
سطر 49: | سطر 50: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
استخدام الخاصيّة كبديلٍ عن الحدث load: | استخدام الخاصيّة كبديلٍ عن الحدث <code>load</code>: | ||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
// | // استخدام الخاصيّة كبديلٍ عن الحدث | ||
// load | |||
document.onreadystatechange = function () { | document.onreadystatechange = function () { | ||
if (document.readyState === "complete") { | if (document.readyState === "complete") { | ||
سطر 59: | سطر 61: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
استعمال الحدث readystatechange كمُنصِت أحداث (event listener) لإدخال أو تعديل | استعمال الحدث <code>readystatechange</code> كمُنصِت أحداث (event listener) لإدخال أو تعديل شجرة DOM قبل الحدث <code>DOMContentLoaded</code>: | ||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
سطر 90: | سطر 92: | ||
|} | |} | ||
==انظر | ==انظر أيضًا== | ||
* الحدث [[JavaScript/Events/readystatechange|readystatechange]] | * الحدث <code>[[JavaScript/Events/readystatechange|readystatechange]]</code> | ||
* الحدث [[JavaScript/Events/DOMContentLoaded|DOMContentLoaded]] | * الحدث <code>[[JavaScript/Events/DOMContentLoaded|DOMContentLoaded]]</code> | ||
* الحدث [[JavaScript/Events/load|load]] | * الحدث <code>[[JavaScript/Events/load|load]]</code> | ||
==مصادر ومواصفات== | ==مصادر ومواصفات== |
المراجعة الحالية بتاريخ 11:37، 22 مارس 2018
تصِفُ الخاصيّة Document.readyState
حالة تحميل المُستند.
البنية العامة
var string = document.readyState;
القيم
يُمكن للخاصيّة أن تحمِل القيم التّاليّة:
"loading"
- المُستند لا يزال قيد التّحميل
"interactive"
- تحميل المُستند قد انتهى، لكنّ الموارد الفرعيّة كالصّور وصفحات الأنماط والإطارات لا تزال قيد التّحميل
"complete"
- انتهى تحميل المُستندِ وجميع موارِده الفرعيّة. هذه الحالة تُشير إلى أنّ الحدث
load
سيُطلَق فورًا.
يُطلَق الحدث readystatechange
على كائن المُستند document
عند كلّ تغيّر لقيمة هذه الخاصيّة.
أمثلة
الحالات المُختلفة لجاهزيّة المُستند:
switch (document.readyState) {
case "loading":
// لا يزال المُستند قيد التّحميل
break;
case "interactive":
// اكتمَل تحميل المُستند، ويُمكننا الآن الوصول إلى مكوّنات
// DOM
var span = document.createElement("span");
span.textContent = "A <span> element.";
document.body.appendChild(span);
break;
case "complete":
// اكتمَل تحميل الصّفحة بالكامِل
console.log("أول قاعدة في صفحات الأنماط هي " + document.styleSheets[0].cssRules[0].cssText);
break;
}
استخدام الخاصيّة كبديلٍ عن الحدث DOMContentLoaded
:
// استخدام الخاصيّة كبديلٍ عن الحدث
// DOMContentLoaded
document.onreadystatechange = function () {
if (document.readyState === "interactive") {
initApplication();
}
}
استخدام الخاصيّة كبديلٍ عن الحدث load
:
// استخدام الخاصيّة كبديلٍ عن الحدث
// load
document.onreadystatechange = function () {
if (document.readyState === "complete") {
initApplication();
}
}
استعمال الحدث readystatechange
كمُنصِت أحداث (event listener) لإدخال أو تعديل شجرة DOM قبل الحدث DOMContentLoaded
:
document.addEventListener('readystatechange', event => {
if (event.target.readyState === "interactive") {
initLoader();
}
else if (event.target.readyState === "complete") {
initApp();
}
});
دعم المتصفحات
الميزة | Chrome | Internet Explorer | Firefox | Opera | Safari |
---|---|---|---|---|---|
الدعم الأساسي | 5 | 4 | 4 | 11 | 5 |
انظر أيضًا
- الحدث
readystatechange
- الحدث
DOMContentLoaded
- الحدث
load
مصادر ومواصفات
- مواصفة HTML Living Standard
- مواصفة HTML 5.1
- مواصفة HTML5