2010-07-06 10 views
1

J'essaye de construire une recherche de musique en utilisant des widgets mp3 Amazon pour jouer chaque résultat. Au lieu de construire une page complète de ces widgets, j'aimerais que l'utilisateur clique sur la pochette de l'album et que le widget se charge.Est-il possible d'ajouter par programme des widgets MP3 Amazon

Le code que je ressemble à ceci:

function loadPlayer(asin) { 
var amzn_wdgt={widget:'MP3Clips'}; 
amzn_wdgt.tag='widgetsamazon-20'; 
amzn_wdgt.widgetType='ASINList'; 
amzn_wdgt.ASIN=asin; 
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'; 
} 

Dans leur documentation (https://widgets.amazon.com/Widget-Source/), ils ont un script pour charger le widget:

<script type='text/javascript' src='http://wms.assoc-amazon.com/20070822/US/js/swfobject_1_5.js'></script> 

La question que je suis en en est que je ne peux pas sembler trouver un moyen de charger ce script dynamiquement. Le script charge le widget dans l'élément qui contient le code, donc je ne sais pas comment faire cela avec jQuery ou javascript. Toute aide serait appréciée.

Répondre

2

Découvrez de jquery getScript: Pour répondre à votre question ci-dessous http://api.jquery.com/jQuery.getScript/

Mise à jour, le script attend une variable globale, vous aurez donc besoin de quelque chose comme:

var amzn_wdgt; 
function loadPlayer(asin) { 
    amzn_wdgt={widget:'MP3Clips'}; 
    amzn_wdgt.tag='widgetsamazon-20'; 
    ...yada yada... 
    $.getScript(...) 
} 
+0

Merci. Le problème avec cette approche est que le script fait référence à la variable amzn_wdgt, mais il n'est pas dans la même portée. Une idée de comment faire ce travail? – horizens

+0

@horizens - voir mise à jour. Le problème que vous voyez n'est pas dû à getScript, il est dû à la façon dont votre portée fonctionne. –