سؤال

Firebug يعطيني الخطأ التالي:

ActiveXObject is not defined
[Break on this error] var xmlhttp = new ActiveXObject("MSXML2.XmlHttp"); 

لقد قرأت أن ActiveX هو إطار Microsoft ويستخدم في الغالب في IE. تم تصميم جميع صفحات الويب الداخلية في المكان الذي أعمل فيه خصيصًا لـ IE 6 ، لكنهم الآن يريدون مني البحث في ما يتطلبه الأمر للانتقال إلى Firefox و Safari وغيرها من المتصفحات الرئيسية ... و ActiveX لا تعمل في ثعلب النار.

فكيف يمكنني الحصول على الأشياء ActiveX للعمل في Firefox و Safari على وجه التحديد على ماك (للمبتدئين)؟ أعلم أن هناك بعض الإضافات؟ جعلت الأمور أسهل ... مثل مضيف FF ActiveX ... ولكن هل هناك حل برمجي لهذا؟

إذا لم يكن هناك حل ، لا يوجد مكون إضافي ، لهذه المشكلة ، هل من الممكن إعادة كتابة القطع النشطة في Java؟

هل كانت مفيدة؟

المحلول

أنا لست رجل ويب ولكن يبدو أن صفحات الويب الخاصة بك تستخدم AJAX.

لذا فإن مشكلتك لا تستخدم Acitvex في المتصفحات الأخرى.

جرب شيئًا كهذا:

var xmlhttp;
if (window.XMLHttpRequest) {
  xmlhttp = new XMLHttpRequest();
} else {
  try { 
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    try { 
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {
      xmlhttp = false; 
    }
  }
}

نصائح أخرى

المكون الإضافي-api تقريبًا كل متصفح ذي صلة إلى جانب دعم IE هو npapi, ، انظر على سبيل المثال هذه المقدمة.

لست على دراية بأي نوبات برمجية شفافة لتكييف ActiveX ، خاصة وأن تقنية Windows ANTORM فقط.

قد يكون البديل نفس ناري المشروع ، الذي يخفف العمل مع NPAPI وكذلك يمنحك طبقة تجريبية على NPAPI و ActiveX - الفكرة هي أنه يتعين عليك كتابة معظم الأجزاء المركزية مرة واحدة فقط.
إخلاء المسئولية: أنا واحد من مالكي المشروع وبالتالي ربما يكون متحيزًا ؛)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top