IE

2010-06-30 24 views
13

में फ़्लैश पर div डालें मेरे पास एक मेनू बार है जिसमें कई सबमेनू आइटम हैं। मुखपृष्ठ में एक फ्लैश एनीमेशन है जो मेनू बार के नीचे स्थित है। जब सबमेनू आइटम फ़्लैश फ़ाइल पर होते हैं, तो फ्लैश फ़ाइल मेनू बार पर प्रदर्शित की जाएगी। मैंने जेड-इंडेक्स के साथ प्रयास किया, लेकिन यह काम नहीं करेगा।IE

यह समस्या केवल आईई में होती है।

कोई सुझाव?

धन्यवाद

उत्तर

25

हाँ क्रिस,

आप एक विशेषता सेट करने के लिए एम्बेड कोड फ्लैश करने के लिए है

<param name="wmode" value="transparent" /> 

यह

काम करेंगे
+0

मेरे पास आईई -11 के साथ एक ही समस्या है और यह काम नहीं किया ... कोई विचार? –

6

आप फ्लैश फ़ाइल कहां लगाना है, तो आप पारदर्शी करने के लिए विंडो मोड निर्धारित करने की आवश्यकता:

<embed src="flashfile" wmode="transparent"> 
+0

मुझे नहीं पता था कि यह इतना आसान था पर जो दोनों काम करता है का उपयोग करने का फैसला किया। मैं नेट पर खोज कर रहा था और वहां लोग कह रहे थे कि यह संभव नहीं था इसलिए मैंने स्टैक ओवरफ्लो पर मेरी किस्मत की कोशिश की और जवाब था! बहुत धन्यवाद – seedg

2

मुनीर और टिम पहले से ही एक अच्छा जवाब दिया, लेकिन मैं कुछ अतिरिक्त infos जोड़ना चाहते हैं:,

  • Adobe की वेबसाइट एक प्रलेखन है वे कारण के बारे में Flash OBJECT and EMBED tag attributes
  • transparent और opaque मूल्यों को किसी आसान तरीका समस्या का कारण होगा पाठकों को स्क्रीन करने के लिए अपनी फ्लैश ऑब्जेक्ट की सामग्री को छुपाएं। केवल window का डिफ़ॉल्ट मान स्क्रीन पाठकों के लिए ठीक है
  • जेड-इंडेक्स आपके मामले में कुछ भी नहीं करेगा और नहीं कर सकता: ऑब्जेक्ट को प्लगइन, फ़्लैश प्लेयर या वैकल्पिक द्वारा प्रबंधित किया जाता है, और यह बहुत कुछ करता है ब्राउज़र द्वारा प्रस्तुत पृष्ठ के बाहर। यह अभी भी इसके साथ (चौड़ाई, ऊंचाई, जेएस) के साथ बातचीत करता है लेकिन प्रतिपादन के लिए ...
  • आईई 6 (और 7?) में चुनिंदा तत्वों के साथ एक समान समस्या है जहां किसी स्थान पर कोई जेड-इंडेक्स मान प्रस्तुत नहीं करेगा बाद में चयन (यह एक आईई चुनने के तरीके के कारण एक बग है)
  • आपको ओएस एक्स और लिनक्स पर परीक्षण करना चाहिए, इन ओएस पर फ्लैश के साथ कुछ समस्याएं हैं।
2

इस के लिए एक बेहतर समाधान है क्योंकि पैरामीटर हमेशा काम नहीं करता है, विशेष रूप से यदि एक div के भीतर फ्लैश ऑब्जेक्ट का उपयोग करना है।

पृष्ठ के अंत में तो जैसे फ्लैश वस्तु रजिस्टर:

<script type="text/javascript"> 
    swfobject.registerObject('FlashIdName'); 
</script> 

फिर तो जैसे एक जावास्क्रिप्ट समारोह फोन:

<script type="text/javascript"> 
function Chk_Flash(ToRegister) 
{ 
    document.getElementById('FlashIdName').style.visibility = 'visible'; 
    return true; 
} 
</script> 
:

<script type="text/javascript"> 
    swfobject.registerObject('FlashIdName'); 
    Chk_Flash('FlashIdName'); 
</script> 

इस समारोह निम्नलिखित करता है

और यह सभी ब्राउज़रों पर काम करता है 100%


तुम भी उपयोग कर सकते हैं:

document.getElementById('FlashIdName').style.visibility = 'hidden'; 

अब अगर आप उदाहरण के लिए div टैग पर कार्रवाई बुला रहे हैं:।

document.getElementById('MyDiv').style.visibility = 'block'; 

या document.getElementById ('MyDiv') शैली दृश्यता = 'कोई नहीं';

क्या आप पहली बार तो div कार्रवाई कर रहा है इसी क्रम में फ्लैश visibilty फोन करने की जरूरत है:

document.getElementById('MyDiv').style.display = 'block'; 
document.getElementById('FlashIdName').style.visibility = 'visible'; 

का आनंद लें!

1

उपयोग इन मूल्य के बजाय 'पारदर्शी':

wmode="opaque" 
1

मैं अंत में एक समाधान है जो दोनों सभी ब्राउज़र पर काम करेगा खोजने के लिए सक्षम था।

अगर मैं

<param name="wmode" value="transparent" /> 

इस्तेमाल किया, मैं IE पर वांछित आउटपुट मिलता है लेकिन फ़ायरफ़ॉक्स पर नहीं होगा और अगर मैं

<embed wmode="transparent" ></embed> 

इस्तेमाल किया, मैं फ़ायरफ़ॉक्स लेकिन नहीं अर्थात् में वांछित आउटपुट मिला है।

तो मैं सभी ब्राउज़रों

<!--[if IE]> 
    <param name="wmode" value="transparent" /> 
<![endif]--> 

<embed wmode="transparent" ></embed> 

 संबंधित मुद्दे