2010-04-06 6 views
0

J'ajoutais des vidéos récentes gadget sur mon blog. Dans ce widget je devais ajouter cette ligneQue fait ce javascript?

<script src="/feeds/posts/default?orderby=published&alt=json-in-script&callback=showrecentpostswiththumbs"> 

aussi, j'ai ajouté un autre script qui a été d'avoir la méthode showrecentpostswiththumbs [utilisé dans le rappel]. S'il vous plaît laissez-moi savoir ce que fait la syntaxe ci-dessus?

Modifier Après le commentaire de Lord :)

En fait, mon blog est hébergé sur blogspot.com . Donc, de ce point de vue, si vous ajoutez /feeds/posts/default? Orderby = publié & alt = json-in-script à n'importe quel blog il génèrera du code. Je voulais juste savoir ce que ça fait? et qu'arrive-t-il à la méthode utilisée dans le paramètre de rappel[quelle que soit la définition de la méthode de rappel :)].

pour exemple: http://googleblog.blogspot.com/flux/messages/default orderby = publié & alt = JSON-in-scriptum

+0

Ce que vous avez posté est HTML pour inclure du JavaScript dans une page Web. Nous ne pouvons pas dire quel code il référence sans au moins connaître votre domaine. Pouvez-vous poster le JavaScript actuel? – Pops

+0

@Lord: :). ajoutez simplement '/ feeds/posts/default? orderby = publié & alt = json-in-script' après n'importe quel blog [je pense que seuls les blogs sur blogspot fonctionneront mais ne sont pas sûrs.]. Par exemple: - http://googleblog.blogspot.com/feeds/posts/default?orderby=published&alt=json-in-script –

Répondre

3

Il est impossible de dire seulement à partir de ce que vous avez posté, mais le paramètre nommant dans l'URL suggèreJSONP. Les bases de JSONP sont de permettre des appels AJAX interdomaines en enveloppant des objets JSON autrement nus dans un appel de fonction, afin que le résultat puisse être exécuté en tant que script.

Code JSON:

function getJSON(url) { 
    var xhr = new XHR(url); // pseudocode 
    xhr.onsuccess = callback; 
    xhr.send(); 
} 

function callback(data) {} 

réponse JSON:

{ "items" : [1, 5, 7] } 

code équivalent de JSONP:

function getJSONP(url) { 
    var script = document.createElement("script"); 
    script.src = url + "&callback=callback"); 
    script.type = "text/javascript"; 
    document.body.appendChild(script); 
} 

function callback(data) {} 

réponse JSONP:

callback({ "items" : [1, 5, 7] }) 

Modifier

JSONP il est.Comparez les résultats des trois demandes suivantes:

Les premiers retours l'alimentation comme JSON brut, le second retourne comme JSONP avec un nom de rappel par défaut et le troisième le renvoie en tant que JSONP en utilisant le nom fourni pour la fonction de rappel.

0

Il est pas un script, mais un lien vers un fichier de script externe, parce que vous utilisez un chemin relatif, nous ne pouvons pas voir le script réel.

+1

S'il vous plaît, expliquez downvote! Ceci est une réponse licite. – systempuntoout

1

Soi-disant ce script retourne un script contenant quelque chose comme ceci:

showrecentpostswiththumbs({ /* some JSON object */ }); 

L'autre script qui a la fonction showrecentpostswiththumbs. La fonction est probablement utilisée pour prendre dans l'objet JSON et faire un peu de manipulation avec lui. L'attribut src spécifie l'URL d'un fichier de script externe.

+0

oui, _showrecentpostswiththumbs_ utilise des attributs json. Devrais-je poster le code de showrecentpostswiththumbs. PS: BIG code;) –

0
<script type="text/javascript" src="myscripts.js"></script> 


Dans votre cas, js est servi dynamiquement côté serveur.