سؤال

أنا أستخدم الإكمال التلقائي JQuery UI ، وهو يعمل بشكل جيد تمامًا في جميع المتصفحات باستثناء IE8.

لقد قمت ببعض الاختبارات ويبدو أن هناك خطأ غريب. عندما أقوم بالنقر فوق رابط يؤدي إلى الصفحة ذات الصلة ، يكون هناك الخطأ التالي الذي تم إنشاؤه بواسطة IE8 عندما أبدأ في الكتابة في المربع التلقائي:

"الكائن لا يدعم هذه الخاصية أو الطريقة" يشير هذا الخطأ إلى ملف JQuery (1.4.2) في السطر 4955 ، char 5 وهو السطر التالي: إرجاع window.xmlhttprequest () ؛

ومع ذلك ، إذا قمت ببساطة بإعادة تحميل الصفحة ، تعمل الإكمال التلقائي.

لقد أضفت جزءًا عشوائيًا من البيانات ليتم استدعاؤه مع الإكمال التلقائي حيث قرأت أن IE8 يختبئ IT Ajax GETS TRAMES ولكن لا يبدو أن هذا قد حل المشكلة.

هل يمكن أن تكون هناك مشكلة في توقيت تحميل جميع الملفات ذات الصلة بما في ذلك jQuery؟ إذا كان الأمر كذلك ، كيف يمكنني إصلاح هذا؟ أي أفكار ذكية أخرى؟!

أندي

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

المحلول 2

بعد الكثير من التجربة والخطأ ، وجدت أن الإجابة بسيطة للغاية!

كنت أتصل بعلامة التعريف ...

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

... بعد تشمل JavaScript الملفات. جميع المتصفحات الأخرى باستثناء IE8 سمحت بذلك.

سيكون هذا درسًا لن أنساه قريبًا - عدة ساعات قضيتها في الإصلاح!

نصائح أخرى

يبدو أنك تحاول استخدام Ajax-Call غير المتزامن بشكل متزامن.

يجب عليك استخدام وظائف رد الاتصال تقوم فيها بإعداد البيانات.

= أو =

يجب عليك تكوين المكالمة لتكون متزامنًا:

jQuery.ajax( {async: false} );
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top