2010-07-01 85 views
0

我有一個母版頁和一個子頁面,並將JavaScript代碼放在Flash電影的子頁面內。在IE瀏覽器和Mozilla的Flash中的主頁面和內容頁面的asp.net頁面

問題是電影似乎工作時有警報,沒有至少一個警報味精,代碼不起作用,我相信你可以解決,我可以看到下面的代碼在兩個Mozilla和IE瀏覽器,但只有在警報處於開啓狀態時,如果我將其關閉,則代碼不起作用。有人可以告訴我什麼是解決方法:

function getFlashMovie(movieName) { 
alert(''); // if I remove this , code does not work!!!!!! 
if (window.document[movieName]) 
    { 
     return window.document[movieName]; 
    } 
    if (navigator.appName.indexOf("Microsoft Internet")==-1) 
    { 
    if (document.embeds && document.embeds[movieName]) 
     return document.embeds[movieName]; 
    } 
    else // if (navigator.appName.indexOf("Microsoft Internet")!=-1) 
    { 
    return document.getElementById(movieName); 
    }   
} 

回答

0

你需要把一個短計時器,你的警報代碼是。讓這個定時器稍微休眠一下,這樣window.document就可以爲你加載電影了。但這是一個小小的破解。

您也可以在jQuery的$ document.ready()中加載flash以解決您的問題;這可能會給你更好的結果,從編碼方面來看它肯定更好。

0

最後我發現的情況下,任何解決方案,
運行到理智的問題,這裏就是答案:

只是傳遞給函數在window.onload事件

window.onload = view_gallery; 

function view_gallery() { 
      var x = document.getElementById('hiddenfield').value;  
      getFlashMovie("galleryfinal").sendTextToFlash(x); 

     } 

function getFlashMovie(movieName) { 

if (window.document[movieName]) 
    { 
     return window.document[movieName]; 
    } 
    if (navigator.appName.indexOf("Microsoft Internet")==-1) 
    { 
    if (document.embeds && document.embeds[movieName]) 
     return document.embeds[movieName]; 
    } 
    else // if (navigator.appName.indexOf("Microsoft Internet")!=-1) 
    { 
    return document.getElementById(movieName); 
    } 

} 

感謝
arunendra

相關問題