0

$window과 함께 사용 된 경우 Angular/Ionic 앱에서 여러 번 발사되는 것을 방지하는 방법에 대한 도움말을 찾고 있습니다. 특히 우리는 Wistia 비디오에 대해이 방법을 사용하고 있습니다 (지침 here). 잘못된 코드는 다음과 같습니다각도 조절기에서 여러 번 onReady 이벤트 발생

$window._wq = $window._wq || []; 
$window._wq.push({ id: "5bbw8l7kl5", onReady: function(video) { 
    console.log("I got a handle to the video using Wistia's onReady method!", video.uuid); 
}}); 

onReady 방법을 여러 번 실행 끝 $window._wq를 사용하는 방법에 대해 그것을 무엇입니까?

언제든지 onReady이 컨트롤러보기를 다시 방문 할 때 한 번만 움직일 수 있도록 각성 ("해킹"이 없거나 회피하지 않음) 할 수 있습니까?

로컬로 문제를 재현하는 데 사용할 수있는 몇 가지 샘플 코드를 입력하십시오 (here).

모든 통찰력, 생각, 아이디어는 크게 감사하겠습니다 !!

+0

'iframe'임베드 또는 방향성 임베드를 사용하고 있습니까? – GentlemanMax

+0

@GentlemanMax : [여기] (https://wistia.com/doc/embed-options#setting_options_on_standard_and_popover_embeds)에 설명 된대로 표준 JS 삽입 옵션을 사용하고 있습니다. 'iframe'이 없습니다. – raie

답변

0

다음은 가능한 문제입니다.
1. 동일한 ID의 비디오가 여러 개 있다고 생각합니다. API 페이지에서
2. 그는 당신이 익명의 배수가있을 수 있습니다

+0

답장을 보내 주셔서 감사합니다, nivas. 우리는 Wistia 지침 [여기] (https://wistia.com/doc/embed-options#setting_options_on_standard_and_popover_embeds)을 따르고 있습니다. 우리는 실제 embed를 위해'class = "wistia_embed wistia_async_5bbw8l7kl5"'와 함께 하나의'div'를 사용하고 있습니다, 그리고 컨트롤러에서 우리는 Wistia의 지시에 따라'$ window._wq'를 사용합니다 (https : // wistia.com/doc/player-api#use_windowwq_to_get_a_video_handle) 비디오 플레이어를 가져 와서 비디오 초기화시 추가 기능을 실행할 수 있습니다. 따라서 어디서나 여러 개의 동영상을 사용하고 있다고 생각하지 않습니다. – raie

+0

또한'$ window._wq.push'에 대한'_wq.push'에 대한 공정한 점을 알았지 만'$ window'에 첨부 된 모든 객체는 전역 객체가되므로 사실 그들은 똑같은 것 같습니다. 또는, 적어도, 내 코드에서 시도하고 효과가 전혀 없다 - 여전히 동일한 문제가 발생합니다. – raie

0

이벤트를 클릭 NG 당신은 당신이 같은 NG-모델이나 두 개의 동영상을 확인 않았다, 당신은 각 사용하는 _wq.push 대신 $window._wq.push
3. 사용 함수 콜백이 주위에 떠있었습니다. onReady 콜백을 별도의 함수로 추출한 다음 해당 함수를 onReady에 객체에 전달하는 것이 좋습니다.

$window._wq = $window._wq || []; 
$window._wq.push({ id: "5bbw8l7kl5", onReady: onReadyCallback }); 
var onReadyCallback = (video) => { console.log('I got a handle to the video using Wistia's onReady method!', video.uuid }; 

이 당신이 적어도 익명 함수에서 코드를 분리하고 발사 여러 이벤트의 근본 원인을 추적하는 데 도움이되는 기능의 발신자를 파악하는 데 도움이됩니다. 범위 안에 컨트롤러의 인스턴스가 여러 개있을 수도 있지만 Wistia 나 Ionic 환경은 없습니다.

+0

좋은 제안. 우리는 이걸 시도해 어디서나 우리를 데려 갈지 알아 보겠습니다. 고마워요! – raie

+0

@raie,이 문제에 대해 더 알고 싶습니까? 나는 같은 문제를 가지고 있지만 React –

관련 문제