动态加载Amazon MP3小部件

Load Amazon MP3 widget on the fly

本文关键字:小部 MP3 Amazon 加载 动态      更新时间:2023-09-26

我在这方面遇到了一段非常令人沮丧的时间。我想动态加载/更新一个amazonmp3小部件。

Amazon提供了两个脚本,以包含在小部件的预期目标位置(https://widgets.amazon.com/Widget-Source/)。我想在点击事件中用一个新的小部件替换这个小部件。

我尝试过使用jQuery的html()和appendTo()将脚本作为字符串插入到DOM元素中。我知道注入在一定程度上有效,因为我得到了添加到它末尾的测试警报

我尝试过使用createElement(),这里推荐它:Can';t附加<脚本>要素再次,alert()启动,但没有显示任何小部件。

我在这里发现有人在处理同样的问题:是否可以通过编程添加Amazon MP3小部件。我很有希望,因为它有一个公认的答案,但我仍然不明白将新的小部件引入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'>

谢谢。

你可以试试这个。您将设置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>