2011-05-03 2 views
1

모두 안녕하십니까. 이전에 도움이 된 stackoverflow 덕분에 사용자가 어둡거나 밝은 색 구성표를 선택할 수 있도록 웹 사이트를 만들고 실행할 수있었습니다.설정 쿠키를 기반으로 Flash 비디오 플레이어의 색 구성표 전환

그러나 프로젝트 세부 정보 페이지에는 어떤 색 구성표가 선택되었는지에 따라 약간 변경되는 플래시 비디오가 있습니다.

페이지의 예는 여기에 있습니다 : 당신은 비디오 재생을 시작하고, 색 구성표를 변경하는 경우 이 http://centerline.net/projects/detail/?p=84

는 플래시 플레이어가 올바른 색상으로 변경됩니다,하지만 상쾌에, 그것은 그 변화를 기억하지 않습니다 . Flash Player에서 올바른 색 구성표를 읽고 조치를 취할 수 있도록 아래 코드를 어떻게 수정합니까?

Pertinant 코드 (: http://www.centerline.net/lib/js/site-unmin.js 전체 JS 파일이 여기에) : 여기

//Switches color of Flash Video player on detail pages 
function updateColor(color) { 
//alert("called"); 
    var vidPlayers = document.getElementsByName("StageVideoPlayer"); 
    for(var i=0;i<vidPlayers.length;i++) { 
     var player = vidPlayers[i]; 
     player.changePlayerColor(color); 
    } 
} 



//Swaps out style sheets for different designs. Sets cookie to remember user's design preference. 
if($.cookie("css")) {  
    $("link").attr("href",$.cookie("css")); 

}else if($.cookie("cssSession")) { 
    $("link").attr("href",$.cookie("cssSession")); 

}else{ 

    var rand = Math.floor(Math.random()*2) 

    if (rand > 0) { 

     $("link").attr("href","/lib/css/common-dark.css"); 
     $.cookie("cssSessionColor","dark", {expires:null, path: '/'}); 
     $.cookie("cssSession","/lib/css/common-dark.css", {expires:null, path: '/'}); 


    }else{ 

     $("link").attr("href","/lib/css/common.css"); 
     $.cookie("cssSessionColor","light", {expires:null, path: '/'}); 
     $.cookie("cssSession","/lib/css/common.css", {expires:null, path: '/'}); 

    }; 
} 



window.onLoad = function(){ 
    updateColor($.cookie("cssSessionColor")); 
} 

답변

0

내 생각 엔 비디오 플레이어가 ExternalInterface를 호출 또는 콜백을 등록받을 준비가되기 전에 위해 window.onload 이벤트가 발생하는 것입니다. 나는 Flash 내에서로드 할 플레이어를 청취하고 ExternalInterface를 사용할 수 있는지 확인한 다음 쿠키 정보를 반환하는 JS 함수를 호출하는 것이 좋습니다.

+0

플래시 개발자 중 한 명이 시도해 보겠습니다. 감사. – Keefer

관련 문제