2011-08-23 4 views
0

나는 사용자가 비디오를 본 후 크레딧을받을 수있는 외부 스크립트를 내 시스템에 통합했습니다. 사용자가 링크를 클릭하면 팝업으로 동영상이로드됩니다. 동영상이 끝나면 콜백 "callback_on_conversion"이 발생합니다. 버튼을 숨길 필요가 있지만 그렇게 쉬운 것은 아닙니다. 통합 가이드를 읽고, 내가 발견페이지 위탁 코드를 다시로드하는 방법은 무엇입니까?

"이 비동기 동작은 제한이 있습니다. 당신이 작동하지 않습니다로 document.write를 기능을 사용할 수 없습니다 이러한 콜백 기능을 실행할 수 있습니다 자바 스크립트 코드를 대신 DOM 및 jQuery를 사용하는 페이지에서 새 요소 (예 : 대체 광고 태그)를 생성/삽입하는 것이 좋습니다.

이것은 실제로 스크립트입니다. 다시 말하지만, 비디오가 끝나면 "a"링크를 숨기는 방법을 모르겠습니다.

 <script src="http://iframe.sponsorpay.com/javascripts/widget/v1/widgets.js" charset="utf-8"> </script> 
     <script type="text/javascript"> 

     var sp_object = new SPONSORPAY.Video.Iframe({ 
      api_host: 'iframe.sponsorpay.com', 
      asset_host: 'iframe.sponsorpay.com', 
      appid: 'xxxx', 
      uid: 'demouser', 
      width: '750', 
      height: '750', 
      display_format: 'bare_player', 
      callback_on_start: function() { alert('Video Ready'); }, 
      callback_on_conversion: function() { alert('finished'); }, 
      callback_no_offers: function() { alert('No video avabile.'); } 
     }); 

     sp_object.backgroundLoad(); 
</script> 

<a href="#" id="showvideo" name="showvideo" class="showvideo" onClick="sp_object.showVideo()">Load</a> 

코드 분할을 방지하려면 어떻게해야합니까? 감사!

+0

'$ ("# showvideo"). hide()'? – JMax

답변

2

jQuery에는 DOM 트리를 조작하는 많은 기능이 있습니다. 예를 들어 ID = 'showvideo'인 속성을 선택하고 제거합니다.

$('a#showvideo').remove(); 

주 이상 1 개 등의 요소가 있다면, 첫 번째는 이동합니다,하지만 당신은 또한 클래스를 사용하여 선택할 수 : 비디오 당신이 수 완료 될 때 호출되는

$('a.showvideo').remove(); 
1

callback_on_conversion하는 경우를 단순히 jquery로 숨 깁니다. http://api.jquery.com/hide/

callback_on_conversion: function() { 
    $("a#showvideo").hide(); 
}; 
+0

감사합니다 @ 루카드,하지만 삽입하더라도 "a"html 다음에 작동하지 않습니다 ... –

+1

'sp_object'를 초기화 할 때처럼 그것을 정의하면 작동합니다. 그건 그렇고, jquery를 설치하셨습니까? – lukad

관련 문제