2010-07-01 2 views
0

마스터 페이지와 하위 페이지가 있으며 Flash 무비의 하위 페이지에 javascript 코드가 삽입되어 있습니다.asp.net 용 IE 및 Mozilla의 플래시 마스터 페이지 및 컨텐츠 페이지가있는 페이지

문제는 동영상이 경고가있을 때 작동하는 것처럼 보입니다. 적어도 하나의 경고 메시지가 없으면 코드가 작동하지 않으며 사람들이 해결할 수 있다고 확신합니다. 다음 코드가 둘 다 잘 작동한다는 것을 알 수 있습니다. Mozilla 및 IE에서 경고가 ON으로 설정된 경우에만 코드를 작동 시키면 코드가 작동하지 않습니다. 아무도 나에게 해결 방법이 무엇인지 말해 줄 수 있습니까?

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()에서 플래시를로드하여 문제를 해결할 수도 있습니다. 아마 당신에게 더 나은 결과를 줄 것이고 그것은 코딩 측면에서 확실히 더 낫습니다.

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