سؤال

لدي div يحتوي على قائمة بكائنات الفلاش.القائمة طويلة لذا قمت بتعيين ارتفاع div على 400 وتجاوز السعة إلى تلقائي.

يعمل هذا بشكل جيد على FF ولكن على IE6 فقط أول 5 كائنات فلاش مرئية تعمل.تكون بقية كائنات الفلاش الموجودة في البداية خارج المنطقة القابلة للعرض فارغة عندما أقوم بالتمرير لأسفل.تم تحميل ملفات swf بشكل جيد لأنني لا أحصل على "لم يتم تحميل الفيلم".يبدو أيضًا أنها مضمنة بشكل صحيح فهي فارغة فقط.لا يتم رسم المحتوى أبدًا.

أي أفكار حول كيفية إصلاح هذا؟

ملاحظة.عناصر html المعنية تطفو بشكل أساسي في حالة وجود تأثير على ذلك.يتم تضمين كائنات الفلاش باستخدام swfObject الشهير.

يحرر:يبدو أن الخطأ يحدث فقط مع البرنامج الإضافي للفلاش "WIN 8,0,24,0"

نظرًا لأنني لا أستطيع نشر رابط، فسوف أقوم بتلخيص الكود ذي الصلة هنا:

<div style="overflow:auto; height:400px; float:left;">
<div id="item_1" style="float:left; clear:left; height:100px;">
<!-- swfObject Embed here -->
</div>
...
<div id="item_7" style="float:left; clear:left; height:100px;">
<!-- swfObject Embed here -->
</div>
</div>

يحرر:بعد محاولة إعادة إنشاء هذه المشكلة في صفحة منفصلة، ​​وجدت أن الخطأ يرتبط إلى حد ما بكائنات الفلاش التي تم إخفاؤها في البداية.يحتوي div الخاص بالحاوية على "display:none;الرؤية: مخفي" عند تحميل الصفحة.في وقت لاحق يتم تغيير النمط عبر جافا سكريبت إلى مرئي.إذا قمت بتحميل الصفحة بحيث يكون كل شيء مرئيًا من البداية، فسيكون كل شيء على ما يرام.

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

المحلول 4

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

كان

وقضية هناك أنه في بعض الأحيان فلاش يعطي Stage.height = 0 و Stage.width = 0. هذا هو الأكثر احتمالا أن يحدث عند بدء فلاش خارج إطار العرض المتصفح. نحن نستخدم أبعاد المرحلة لتوسيع نطاق محتويات (إلى العرض = 0 والارتفاع = 0 في هذه الحالة).

وكان الحل لإضافة معالج onEnterFrame بالتحقق من أبعاد المرحلة ويمضي سوى مرة واحدة هم> 0.

نصائح أخرى

عند أنا على اختبار هذا النوع من الاشياء في IE6، فإن أول شيء أقوم به هو البدء في إزالة المعلومات الاسلوب. تبدأ عن طريق إزالة جميع العوامات، ويزيل من كل من DIV الأم والأطفال عناصر div. إذا لم يفلح ذلك، إزالة كافة الحشو والهوامش، وإعطاء DIV الأم والأطفال عناصر div كل بعرض 100٪ (ترك في طولك من 100px). إذا لم يفلح ذلك، ثم بعد الظهر هنا. إذا كان لي أن أجرؤ تخمين أود أن أقول أنه هو لأن أيا من عناصر div الخاصة بك يكون لها العرض، ولكن هذا هو تخمين البرية بناء على ما أعرفه من "علة لعبة أطفال".

بعض الأشياء التي سأجربها:

  • قم بإزالة كافة ملفات CSS مؤقتًا لتحديد ما إذا كانت المشكلة خاصة بـ CSS أم لا
  • أضف عروض البكسل إلى العناصر العائمة بالإضافة إلى العنصر الأصلي الخاص بها
  • أضف المعلمة الشفافة wmode إلى swfobject
  • إضافة موقف: نسبي

لقد سمعت عن خطأ في Flash يبدو أنه يحدث فقط إذا تم تحميل الفلاش بأجزاء منه خارج الشاشة (على سبيل المثال.الجسم > #فلاش {الهامش العلوي:-50px}).من المحتمل أن تكون مشكلتك مختلفة عن ذلك.

وبدلاً من ذلك، يمكنك إسقاط div مع تجاوز السعة تمامًا ومحاولة إنشاء حاوية فلاش باستخدام شريط تمرير وتحميل ملفات SWF الفردية في ملف فلاش الحاوية هذا.

وهذه ليست سوى حلا، ولكن هل يمكن أن تحاول خلق النائبة في البداية للكائنات فلاش (مثل لشعبة مع ارتفاع المقابلة والعرض) وتحميل فقط فيلم (عبر شيء من هذا القبيل <لأ href = "HTTP: // كود .google.com / ع / swfobject / "يختلط =" نوفولو noreferrer "> swfobject ) عندما يصبح أول مرئية. هذا يمكن أن تخلق بعض المشاكل (أي الأفلام لا تحميلها مسبقا قبل أن تكون مرئية)، ولكن قد يكون مقبولا.

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