2012-01-08 2 views
3

나는이 작업을 얻는 데 지칠 줄 모르는 시간을 보내고 있습니다. 아마존 mp3 위젯을 동적으로로드/업데이트하려고합니다.즉시 Amazon MP3 위젯로드

Amazon은 위젯 (https://widgets.amazon.com/Widget-Source/)의 의도 된 대상 위치에 포함 할 두 개의 스크립트를 제공합니다. 클릭 이벤트에서 위젯을 새 위젯으로 대체하려고합니다.

jQuery의 html() 및 appendTo()를 사용하여 DOM 요소에 문자열로 스크립트를 삽입 해 보았습니다. 나는 주입 경고가 어느 정도까지 작동한다는 것을 안다. 왜냐하면 내가 그 끝에 추가 한 테스트 경고를 받기 때문이다.

여기에서 권장하는 createElement()를 사용해 보았습니다 : Can't append <script> element. 다시 알림()은 실행되지만 위젯은 표시되지 않습니다.

동일한 문제를 다루는 누군가가 여기에 있습니다 : Is it possible to programmatically add Amazon MP3 widgets. 나는 대답을 받아 들였기 때문에 희망적이지만 DOM에 새로운 위젯을 도입하는 것이 어떻게 도움이되는지 여전히 이해할 수 없다.

<script type='text/javascript'> 
var amzn_wdgt={widget:'MP3Clips'}; 
amzn_wdgt.tag='widgetsamazon-20'; 
amzn_wdgt.widgetType='ASINList'; 
amzn_wdgt.ASIN='B0011Z0YR2,B00137W4P8,B0013G0PG4,B001AU8ZLK,B001AUCJZ8,B001AUEMDK,B001AU8YB6,B001AU8YBQ,B001AU8YCK,B001AUCK2U,B001AUEMFS,B001AUCK52,B001AU6XE6,B001AUEMH6'; 
amzn_wdgt.title='What I\'ve been listening to lately...'; 
amzn_wdgt.width='250'; 
amzn_wdgt.height='250'; 
amzn_wdgt.shuffleTracks='True'; 
amzn_wdgt.marketPlace='US'; 
</script> 
<script type='text/javascript' src='http://wms.assoc-amazon.com/20070822/US/js/swfobject_1_5.js'> 

감사합니다.

답변

0

시도해 볼 수 있습니다. amzn_wdgt의 속성을 설정하고 누군가 요소를 클릭하면 스크립트를로드하고 설정 한 객체로 수행해야하는 작업을 수행합니다.

<script> 
var amzn_wdgt={widget:'MP3Clips'}; 
amzn_wdgt.tag='widgetsamazon-20'; 
amzn_wdgt.widgetType='ASINList'; 
amzn_wdgt.ASIN='B0011Z0YR2,B00137W4P8,B0013G0PG4,B001AU8ZLK,B001AUCJZ8,B001AUEMDK,B001AU8YB6,B001AU8YBQ,B001AU8YCK,B001AUCK2U,B001AUEMFS,B001AUCK52,B001AU6XE6,B001AUEMH6'; 
amzn_wdgt.title='What I\'ve been listening to lately...'; 
amzn_wdgt.width='250'; 
amzn_wdgt.height='250'; 
amzn_wdgt.shuffleTracks='True'; 
amzn_wdgt.marketPlace='US'; 

$('.clickMe').click(function(e){ 
    e.preventDefault(); 
    if(typeof amzn_wdgt != 'undefined'){ 
     $.getScript('http://wms.assoc-amazon.com/20070822/US/js/swfobject_1_5.js'); 
    } 
}); 
</script>