2014-02-15 2 views
2

내 웹 사이트/webapp에 여러 개의 가장자리 애니메이션을 통합하고 싶지만 모든 <edgeid>_edgePreload.js은 두통을 유발합니다. 모두 모두, 내가 정말하고 싶은 것은 :Adobe Edge-no preloader

  1. JQuery와 에지 번 자체,
  2. 부하 <egde_id_egde.js 아약스를 통해 파일과 마지막
  3. 즉시 조성물을 생성을 포함

그래서 preloader 스크립트를 전혀 사용하지 않고 필요할 때 시작/중지/일시 중지 할 수 있습니다.

Edge.registerCompositionDefn(compId, symbols, fonts, resources, opts);

그래서 그

Edge.getComposition(<id>)가 수행합니다 한마디로

: 여기에 생성 된 정의 파일의 수행으로

어떻게,«구성 정의를 등록»수 프리 로더를 사용하지 않고 컴포지션을 반환 하시겠습니까? 나는 소스 코드를 조금 스테핑 및 구성 정의가 가장자리가 구성을 반환을 거부했다 얼마나 okToPlay 속성을 가지고 있지 않은 것을 알 수 있었다

는 Btw는 .:.

답변

3

내 경험에 의하면 실제로는 그렇게 할 수 없지만 Coordinated Preloading을 사용하여 효과를 시뮬레이션 할 수 있습니다. 당신이 특정 빌려 삽입 할 때

는 이제 bootstrapLoading가 활성화되어 있는지
<script> window.AdobeEdge = window.AdobeEdge || {}; window.AdobeEdge.bootstrapLoading = true; </script> 

, 클래스 사업부를 만들 당신이 설정 한 : 당신이 조성물을로드 할 때

, 먼저 머리에 이것을 추가 에지에서, 예를 들어, 당신은

<div id="Stage" class="edge_my_comp1"> </div> 

지금 yepnope 또는 다른 조건 자바 스크립트를 사용 (기본값은 EDGE-28326120 비슷한는) 클래스 edge_my_comp1 무대가있는 my_comp1.html이 말 로더가 필요에 따라 조성물을로드 :

var loadedComps = {}; 
yepnope({load: "my_comp1_edgePreload.js", 
        callback: function(url, result, key){  
       //when the script is loaded, run these:  
         AdobeEdge.loadResources(); 
         AdobeEdge.playWhenReady(); 

         AdobeEdge.bootstrapCallback(function(compID){ 
          //then 
          loadedComps[compID] = (AdobeEdge.getComposition(compID)); 
         }); 
      }}); 

이제 나중에 내 경험에서

loadedComps["edge_my_comp1"].play() 

로 빌려 액세스 할 수 있습니다, 당신은 여전히 ​​(예를 들어> 당신의 < 머리 한 프리 로더를 추가해야합니다, 빈 더미 프리 로더) AdobeEdge.bootstrapCallback -callback 이 실행되지 않으므로 (reference)의 애니메이션이 적용되지 않는 stage이 숨겨집니다.

컴포지션을로드 한 후에는 다시로드 할 수 없으므로 컴포지션을 중지하거나 숨긴 다음 다시 보려고 할 때 다시 표시하고 재생해야합니다.

관련 문제