تعطيل ADBLOCK

يمنع ADBlock بعض المحتوى على الموقع

ADBlock errore
العثور على نتائج: 

سؤال

ولقد تلقيت للتو وتجاوز مشكلة مع LightWindow وIE7 حيث، على تحميل الصفحة، فإنه يلقي خطأ جافا سكريبت على خط 444 من lightwindow.js، مدعيا أن object does not support this property or method. وعلى الرغم من العثور على وظائف مختلفة في مختلف المحافل، لا نتيجة جوجل يمكن أن تجد لي زيارتها حل، لذلك أنا على نشر هذا هنا على أمل أنها سوف تساعد شخص / نفسي في وقت لاحق.

اقترح

وكثير ترتيب معين من الملفات النصي ولكن كنت بالفعل باستخدام هذا النظام (النموذج، scriptaculous، lightwindow).

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

<رأ>
  • ونقل الدعوة إلى lightwindow.js إلى أسفل الصفحة.
  • وخط تغيير 444 إلى: if (this._getGalleryInfo(link.rel)) {
  • وتغيير خط 1157 إلى: if (this._getGalleryInfo(this.element.rel)) {
  • وأخيرا، أود المغلقة (وهذا هو قذر، اعتذاري) خطوط 1417-1474 مع كتلة try/catch، ابتلاع استثناء.

    تعديل:

    وأدركت أن هذا كسر فايرفوكس. إضافة التالية كخط 445 الآن يجعل من العمل - try { gallery = this._getGalleryInfo(link.rel); } catch (e) { }

    وانها ليست حلا لطيفة جدا، ولكن صفحتي (والذي يحتوي على ارتباط lightwindow مع أي علامة "يختلط"، عدة وصلات lightwindow التي لديهم "يختلط" العلامات، وصلة واحدة "المضمنة") يعمل على ما يرام في IE7 الآن . يرجى التعليق إذا كان لديك أي شيء لإضافة حول هذه المشكلة أو المشاكل مع تحسينات / إلى حل بلدي معين.

  • المحلول

    وأنا ثابت بذلك عن طريق تغيير خط 444 إلى:

    var gallery = this._getGalleryInfo(link.rel)
    

    وبعد ذلك تغيير بيان مقارنة لاحق إلى:

    if(gallery.length > 0)
    {
        // Rest of code here...
    

    ... الذي يبدو أنه قد تم فرزها في IE6 + وأبقاها العمل في فايرفوكس وغيرها.

    ولم أغير خط 1157 على الإطلاق، لكنني لم أقرأ رمز لمعرفة ما أنا في الواقع لا حتى لا أستطيع التعليق على أهميته؟

    وأظن أن؟ المستخدمة في السمة سبيل المثال يختلط (Evoution؟ [رجل]) قد يكون سبب المشكلة مع IE ولكن من دون أن أمضى بعض الوقت في اختبار عدد قليل من الأشياء، وأنا لا يمكن أن يكون متأكد؟

    وHTH.

    إذا أردت ، اترك لنا رأيك

    هل كانت المقالة مفيدة وهل تمت ترجمتها بشكل صحيح؟

    نصائح أخرى

    وبدلا من try..catch ربما كنت قد حاول استخدام

    if( this && this._getGalleryInfo )
    {
        //use the function
    
    }
    

    ويمكنك أيضا أن تحقق في نفس الطريق على this.element.rel (if(this && this.element && this.element.rel) ...) قبل استخدامه.

    ويبدو ان هناك قضية لم يتم تهيئة _getGalleryInfo أو this.element.rel لذلك لن موجودة حتى الآن. تحقق مما إذا كان موجودا ثم إذا كنت لا تستخدم ذلك.

    وبالطبع قد أكون مخطئا تماما، والطريقة الوحيدة لمعرفة هي عن طريق اختبار ذلك.

    وكان لي نفس المشكلة مع Lightwindow 2.0، IE6، IE7، IE8 (بيتا)؛ I حلها بالطريقة التالية للIE6، IE7، IE8 (بيتا).

    وبدلا من:
    if(gallery = this._getGalleryInfo(link.rel))
    أنا وضعت على خطوط 443 و 1157:
    gallery = this._getGalleryInfo(link.rel)
    if(gallery)

    وهذا الأمل سيساعد!

    Licensed under: CC-BY-SA with attribution
    Not affiliated with StackOverflow