2009-03-02 15 views
7

पर फ़ायरफ़ॉक्स में फ्लैश कंटेंट चमकाने के लिए फ्लैश कंटेंट कैसे बंद करें I IE & विंडोज़ पर एफएफ में jQuery यूआई संवाद बॉक्स का उपयोग कर रहा हूं, मुझे डायलॉग बॉक्स के माध्यम से चमकती फ्लैश सामग्री मिल रही है।विंडोज़

मैंने jQuery संवाद विंडो पर bgiframe विकल्प सक्षम करके और किसी भी विंडोज ब्राउज़र पर लागू करने के लिए bgiframe स्क्रिप्ट को बदलकर आईई पर इसका समाधान किया, हालांकि मुझे अभी भी एफएफ पर चमक-हो रही है।

ध्यान दें कि मुझे नहीं पता कि फ्लैश सामग्री कहां दिखाई देगी क्योंकि यह आमतौर पर फ्लैश विजेट्स है जो उपयोगकर्ताओं ने पृष्ठों में जोड़ा है, हालांकि मैंने संवाद बॉक्स को प्रदर्शित करते समय अस्थायी रूप से फ्लैश सामग्री को छिपाने के बारे में सोचा है - क्या यह है मेरे लिए एकमात्र विकल्प छोड़ दिया?

+0

आप अपने फ़्लैश सामग्री के लिए अपने सीएसएस/HTML में ज़ेड-ऑर्डर के साथ कुछ भी किया है:

यहाँ यह ऐसा करने का मेरा तरीका है? – Chris

उत्तर

8

wmode=transparent या wmode=opaque पैरामीटर का प्रयास करें।

+0

http://kb2.adobe.com/cps/155/tn_15523.html –

+1

यदि 'iframe' के माध्यम से यूट्यूब वीडियो एम्बेड करना आप 'src' विशेषता के अंत में' wmode = पारदर्शी 'जोड़ सकते हैं। –

0

या तो डायलॉग बॉक्स में आईफ्रेम का उपयोग करें या संवाद बॉक्स को निकाल दिए जाने पर पृष्ठ पर फ्लैश सामग्री छुपाएं।

2

मुझे एक बार इसी तरह की समस्या का सामना करना पड़ेगा। मैं बस फ़्लैश छिपाने के लिए और उसे पुन: प्रदर्शित जब संवाद को खारिज:

<script type="text/javascript"> 
    /*notification dialog setup*/ 
     function SetupDialog() 
     { 
      $("div#divNotice").dialog(
       { autoOpen: false, 
        modal: true, 
        overlay: { opacity: 0.5, background: '#050505' }, 
        buttons: { 
           "I Agree": function(){ 
              $("#Movie").css("display","inline")//Show movie when dialog is closed 
              ....... 
             }, 
           "Close" : function(){ 
              $("#Movie").css("display","inline") //Show Movie if dialog is closed 
              $(this).dialog("close"); 
             } 
          }, 
        title: "", 
        height: 500, 
        width: 600, 
        dialogClass: 'myDialog', 
        position: 'center' 
       } 
      ); 
     } 
    </script> 
    <script type="text/javascript"> 
    function ShowDialog() 
    { 
     /*for Notice dialog */ 
     $("#divDialog").css("display","block"); 
     $("#Movie").css("display","none"); 
     $("div#divDialog").dialog("open"); 
    } 
3
<object ...> 
    ... 
    <param name="wmode" value="opaque" /> 
    ... 
    <embed ... wmode="opaque" ...></embed> 
</object> 
1

jQuery ui संवाद एक सीएसएस jQuery-ui-xxcss बुलाया फ़ाइल जहां xx इस में संस्करण

संकेत दिया का उपयोग करता है फ़ाइल आप .ui- संवाद वर्ग ओवरफ़्लो दे सकते हैं: ऑटो; इससे समस्या हल हो जाएगी

1

कृपया चेतावनी दीजिये कि आपके फ्लैश एनीमेशन के डब्ल्यूएमओडी को बदलने से गंभीरता से आप मशीन के सीपीयू लोड को बढ़ाएंगे और आपके एनिमेशन को धीमा कर देंगे। फ्लैश प्लेयर अच्छे कारण के लिए ब्राउज़र विंडो के शीर्ष पर अपनी खिड़की का उपयोग करता है। Wmode सेट अपारदर्शी के लिए फ्लैश ब्राउज़र विंडो में प्रस्तुत करने के लिए मजबूर किया जाता है। Wmode = पारदर्शी के साथ भी इसे मौजूदा ब्राउज़र चरण सामग्री के साथ अपने प्रस्तुतिकरण को मर्ज करना होगा।

मैं आमतौर पर उसी तकनीक का उपयोग करता हूं जिसका प्रयोग कई लाइटबॉक्स स्क्रिप्ट द्वारा भी किया जाता है: जब तक संवाद दिखाई देता है तब तक सभी फ़्लैश फिल्में अदृश्य हो जाती हैं। यह प्रदर्शन सेट करके नहीं किया जाना चाहिए: कोई नहीं। परिणामस्वरूप पृष्ठ के बाकी हिस्सों में सामग्री को स्थानांतरित किया जा सकता है यदि फ्लैश आयताकार मंच पर नहीं है। इसी कारण से आपको jQueries hide() विधि का उपयोग नहीं करना चाहिए। इसके बजाए, दृश्यता का उपयोग करें: छुपा हुआ जो अभी भी छिपा तत्व की जगह पर कब्जा कर लेता है।

$('#myDialogId').dialog({ 
    open: function(){ 
     // hide any flash objects 
     $('object').css('visibility', 'hidden'); 
     // hide any flash embeds 
     $('embed').css('visibility', 'hidden'); 
    }, 
    close: function(){ 
     // show any flash objects 
     $('object').css('visibility', 'visible'); 
     // show any flash embeds 
     $('embed').css('visibility', 'visible'); 
     // 
    } 
});