على الرغم من أن الفترة في تاريخ JavaScript لاستخدام كتل التعليمات البرمجية المطولة والمزعجة لاستهداف متصفحات محددة قد انتهت ، إلا أنه لا يزال من الضروري استخدام كتل رمز بسيطة في بعض الأحيان واكتشاف الكائنات لضمان أن بعض التعليمات البرمجية تعمل بشكل صحيح على آلات المستخدم.
في هذه المقالة ، سأصف باختصار الجوانب السبعة المختلفة لبناء جملة JavaScript بين Internet Explorer و Firefox.
1. سمة "تعويم" CSS
بناء الجملة الأساسي للحصول على سمة CSS محددة لكائن معين هي سمة الكائن. على سبيل المثال ، للحصول على خاصية ألوان الخلفية لـ DIV مع "رأس" معرف ، نحتاج إلى استخدام بناء الجملة التالي:
نسخة الكود كما يلي: document.getElementById ("header"). style.borderBottom = "1px Solid #CCC" ؛
ومع ذلك ، نظرًا لأن "Float" عبارة عن كلمة محجوزة لـ JavaScript ، لا يمكننا استخدام Object.style.float للحصول على سمة "Float". إليكم كيف نستخدمه في مستعرضين:
أي بناء جملة:
نسخة الكود كما يلي: document.getElementById ("header"). style.stylefloat = "left" ؛
بناء جملة Firefox:
نسخة الكود كما يلي: document.getElementById ("header"). style.cssfloat = "left" ؛
2. نمط حساب العنصر
باستخدام الكائن أعلاه. ومع ذلك ، فإن الحد من هذا الجملة هو أنه يمكنه فقط الحصول على أنماط مضمنة في HTML ، أو استخدام JavaScript مباشرة لتعيين الأنماط. لا يمكن لكائن النمط تعيين الأنماط باستخدام ورقة الأنماط الخارجية. للحصول على "النمط المحسوب" للكائن ، نستخدم الكود التالي:
أي بناء جملة:
var myobject = document.getElementById ("header") ؛ var mystyle = myobject.currentstyle.backgroundColor ؛بناء جملة Firefox:
var myobject = document.getElementById ("header") ؛ var myComputedStyle = document.defaultView.getComputedStyle (myobject ، null) ؛ var mystyle = myComputedStyle.backgroundColor ؛3. احصل على سمة "الفصل" للعنصر
على غرار حالة سمة "Float" ، يستخدم المتصفحان طرق JavaScript المختلفة للحصول على هذه السمة.
أي بناء جملة:
var myobject = document.getElementById ("header") ؛ var myattribute = myobject.getAttribute ("className") ؛بناء جملة Firefox:
var myobject = document.getElementById ("header") ؛ var myattribute = myobject.getAttribute ("class") ؛4. احصل على سمة "for" من علامة التسمية
مثل 3 ، هناك بناء جملة مختلف لاستخدام جافا سكريبت للحصول على سمة "for" من الملصق.
أي بناء جملة:
var myobject = document.getElementById ("mylabel") ؛ var myattribute = myObject.getAttribute ("htmlfor") ؛بناء جملة Firefox:
var myobject = document.getElementById ("mylabel") ؛ var myattribute = myobject.getAttribute ("for") ؛نفس بناء الجملة صحيح أيضًا لطريقة setAttribute.
5. احصل على موقف المؤشر
من النادر الحصول على موضع المؤشر لعنصر ما. إذا كنت بحاجة إلى القيام بذلك ، فإن بناء جملة IE و Firefox مختلف أيضًا. رمز العينة هذا أساسي تمامًا ويستخدم عمومًا كجزء من العديد من معالجة الأحداث المعقدة ، ويستخدم فقط لوصف الاختلافات هنا. تجدر الإشارة إلى أن النتائج في IE تختلف عن تلك الموجودة في Firefox ، لذلك هذه الطريقة لديها بعض المشاكل. عادة ، يمكن تعويض هذا الاختلاف عن طريق الحصول على "موضع التمرير" - ولكن هذا هو موضوع مقال آخر.
أي بناء جملة:
var mycursorpositation = [0 ، 0] ؛ mycurspositation [0] = event.clientx ؛ mycurspositation [1] = event.clienty ؛
بناء جملة Firefox:
var mycursorpositation = [0 ، 0] ؛ mycurspositation [0] = event.pagex ؛ mycurspositation [1] = event.pagey ؛
6. احصل على حجم النافذة أو نافذة المتصفح
في بعض الأحيان يكون من الضروري معرفة حجم مساحة النافذة الفعالة للمتصفح ، والتي عادة ما تكون "نافذة".
أي بناء جملة:
var mybrowsersize = [0 ، 0] ؛ mybrowsersize [0] = document.documentElement.ClientWidth ؛ mybrowsersize [1] = document.documentElement.clientheight ؛
بناء جملة Firefox:
var mybrowsersize = [0 ، 0] ؛ mybrowsersize [0] = window.innerwidth ؛ mybrowsersize [1] = window.innerheight ؛
7. ألفا شفافة
حسنًا ، هذا ليس في الواقع مشروع بناء جملة لـ JavaScript - يتم تعيين شفافية ألفا من خلال CSS. ومع ذلك ، عندما يتم ضبط الكائن على التلاشي والخروج من خلال JavaScript ، يجب تحقيق ذلك من خلال الحصول على إعدادات ألفا من CSS ، والتي تقع بشكل عام داخل الحلقة. لتغيير رمز CSS مع JavaScript التالي:
أي بناء جملة:
#MyElement {filter: alpha (عتامة = 50) ؛}بناء جملة Firefox:
#MyElement {عتامة: 0.5 ؛}للحصول على هذه القيم باستخدام JavaScript ، تحتاج إلى استخدام كائن نمط:
أي بناء جملة:
var myObject = document.getElementById ("mylement") ؛ myobject.style.filter = "alpha (opitated = 80)" ؛بناء جملة Firefox:
var myobject = document.getElementById ("mylement") ؛ myobject.style.opacity = "0.5" ؛بالطبع ، لقد تم ذكر أنه من المفترض بشكل عام تغيير opcity/alpha في منتصف الحلقة لإنشاء تأثيرات الرسوم المتحركة ، ولكن هذا مثال بسيط ، فقط لوصف الطريقة التي يتم بها تنفيذ الطريقة.
هناك 7 نقاط مختلفة في بناء جملة JavaScript من حيث JavaScript ، وآمل أن يكون مفيدًا لتعلم الجميع.