الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة توافق كود جافاسكربت مع المتصفحات المختلفة

بدأه Ahmedcia17 في 17 فبراير 2014 · 3 رد · 1,812 مشاهدة · في قسم البرمجة بــ Javascript
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

ان مشكلة توافق كود جافاسكربت مع المتصفحات المختلفة اصبحت بالنسبة إلي كابوس حقيقي لان كثير من الاكواد التي اكتبها لا تعمل بشكل جيد على كل المتصفحات  :bash:

اذا كتبت كود واشتغل على المتصفح اكسبلورر مثلا ولم يعمل على المتصفح كروم كيف يمكنني حل هذه المشكلة ؟؟؟

هل هناك طريقة معينه يمكن من خلالها ان استعرض كود المتصفح الذي يعالج الاكواد التي اكتبها ؟؟

هل توجد مواقع او برامج تساعد على حل هذه المشكال ؟؟؟

رجاءً افيدوني بأي معلومة  (f) 

 

وكمثال هذا الكود يعمل فقط مع المتصفح اكسبلورر , كيف يمكن تصحيحه ؟؟

<html>
<head>
</head>
<script LANGUAGE="JavaScript">
function test(){
document.execCommand("open");
}
</script>
<body>
<input type="submit" value="value" onClick="test()">
</body>
</html>

تم تعديل هذه المشاركة بواسطة Ahmedcia17 في 17 فبراير 2014 في 22:23

#2

أخى العزيز

 

نصيحة حاول أن تلتزم بها دائما,

أجعل المتصفحات الاساسية التى تهتم بتوافق عملك معها هى

  • Firefox
  • Chrome
  • Internet explorer 9 وما بعدة
  • Opera
  • Safari

إذا كان عملك متوافق مع هذة المتصفحات ويعمل بنفس الشكل على هذة المتصفحات وبدون مشاكل, فأعلم أن عملك صحيح ولا يوجد خطأ بة.

 

أما بالنسبة للمتصفح Internet explorer الاصدارات تحديدا (6 , 7)  وبعض الاوقات أيضا الاصدار (8) , إذا وجدت عملك أو شغلك مختلف أو بة مشاكل على هذة الاصدارات فأعلم أن المشكلة ليس فى عملك ولكن المشكلة فى هذة الاصدارات نفسها, لان هذة الاصدارات للاسف متأخرة تحديدا الاصدارات (6, 7) , ولا تدعم الاوامر البرمجية الحديثة.

ولذلك فبالتأكيد ستجد أكوادك البرمجية التى تستخدمها غير متوافقة مع جميع المتصفحات .

 

ولذلك لديك عدة حلول لهذة المشكلة:

  1. الحل الاول: أن لا تهتم بتوافق عملك مع Internet explorer الاصدارات (6, 7) , لان بصراحة هذة المتصفحات عفا عليها الزمن, وقليل جدا من المستخدمين يستخدم هذة الإصدارات, لذلك قم بإضافة رسالة تظهر فقط لكل من يستخدم هذة الاصدارات (IE 6, 7) بأن يقوم بتحديث متصفحة .
  2. الحل الثانى: هو أن تستخدم مكتبة جاهزة أو أى عمل جاهز مشابة للعمل الذى تريد أن تقوم بإنشائة ويكون متوافق مع المتصفحات جميعا .
  3. الحل الثالث: هو أن تقوم بإنشاء أكواد خاصة فقط لهذة الاصدارات (IE 6,7) فى ملف خاص بهم , ثم تكتب شرط (إذا كان إصدار المتصفح أصغر من 8 أو 9 قم بتضمين ملف الجافا سكربت هذا, وإذا كان إصدار المتصفح أكبر فقم بتضمين ملف الجافا سكربت هذا) , وسيكون الشرط البرمجى بهذا الشكل.
<!--[if lt IE 8]>
    <script type="text/javascript" src="include/ie6-7.js"></script>
<![endif]-->

ويتم كتابتة فى الهيدر مع أكواد الـ HTML , ومعنى هذا هو إذا كان المتصفح الذى يستخدمة المستخدم إصدارة أصغر من 8 أى (6, 7) سيقوم بتضمين الملف هذا, وهو الملف الذى سيكون بة الاكواد المخصصة لهذة الاصدارات فقط.

 

هذا هو خلاصة الكلام, وأتمنى أن تأخذ بة إذا أقتنعت بة .

 

بالتوفيق ....

||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||


egypt_coa.gif


||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||

#3

شكراً لردك اخي العزيز مستر برمجة  (f) 

لكن المشكلة التي تواجهني هي انني لا اعرف كيف اصحح الكود اذا لم يعمل على باقي المتصفحات مثلا هذا الكود يعمل فقط على المتصفح انترنت اكسبلورر ولا يعمل على كروم ولا على فاير فوكس 

<html>
<head>
</head>
<script LANGUAGE="JavaScript">
function test(){
document.execCommand("open");
}
</script>
<body>
<input type="submit" value="value" onClick="test()">
</body>
</html>

كيف يمكن ان اجعله يعمل على باقي المتصفحات ؟؟؟

وهناك الكثير من الاكواد التي تعمل على متصفح ولا تعمل على باقي المتصفحات ( وبالطبع اقصد المتصفحات التي ذكرتها انت مثل كروم وسفاري واوبرا وفاير فوكس ) وما اريده هو كيف اصحح هذه الاكواد ؟؟ هل هناك كتب مخصصة تشرح هذه المشاكل ؟؟ او مواقع تهتم بحل مثل هذه المشاكل ؟؟

بمعنى ادق انت قلت ان اعمل شرط واعرف نوع المتصفح واكتب الكود الخاص بهذا المتصفح داخل هذا الشرط , لكن كيف اعرف الكود الصحيح ؟؟؟ مثلا الكود الذي كتبته بالاعلى كيف استطيع تعديله ليعمل على غير المتصفح اكسبلورر ؟؟؟

ولك كامل الشكر والتقدير 

#4
اقتباس

لكن المشكلة التي تواجهني هي انني لا اعرف كيف اصحح الكود اذا لم يعمل على باقي المتصفحات مثلا هذا الكود يعمل فقط على المتصفح انترنت اكسبلورر ولا يعمل على كروم ولا على فاير فوكس

 

بكل بساطة أخى العزيز بسبب أنك تستخدم الكود الذى يعمل فقط مع أنترنت اكسبورر

وللاسف أخى بعض أوامر execCommand تعمل فقط مع الانترنت أكسبلورر, ولكن لكى تقوم بعمل نفس عمل هذة الخاصية على المتصفحات الاخرى يتطلب طرق أخرى ليست بسيطة.

 

 

اقتباس

كيف يمكن ان اجعله يعمل على باقي المتصفحات ؟؟؟

وهناك الكثير من الاكواد التي تعمل على متصفح ولا تعمل على باقي المتصفحات ( وبالطبع اقصد المتصفحات التي ذكرتها انت مثل كروم وسفاري واوبرا وفاير فوكس ) وما اريده هو كيف اصحح هذه الاكواد ؟؟ هل هناك كتب مخصصة تشرح هذه المشاكل ؟؟ او مواقع تهتم بحل مثل هذه المشاكل ؟؟

بمعنى ادق انت قلت ان اعمل شرط واعرف نوع المتصفح واكتب الكود الخاص بهذا المتصفح داخل هذا الشرط , لكن كيف اعرف الكود الصحيح ؟؟؟ مثلا الكود الذي كتبته بالاعلى كيف استطيع تعديله ليعمل على غير المتصفح اكسبلورر ؟؟؟

ولك كامل الشكر والتقدير

 

الصفحة التالية من موقع Mozilla أضغط هنا

تشرح الدالة execCommand والاوامر المتوافقة معها فى متصفح Firefox .

 

وللعلم أى شئ يعمل على Firefox سوف يعمل مع بقية المتصفحات الحديثة (Chrome, opera, Safari) بنسبة 90% , لانهم يتبعو المعايير القياسية لاى متصفح, أما للاسف الانترنت أكسبلورر فى السابق لم يكون يتبع المعايير القياسية فى الاصدارات (6,7,8) ولكن بدأ يتبع المعايير القياسية من الاصدار 9 وما بعدة .

تم تعديل هذه المشاركة بواسطة مستر برمجة في 19 فبراير 2014 في 17:50

1

||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||


egypt_coa.gif


||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…