Question

Donc, si je mets en place un badge yahoo pipes sur mon site, yahoo me donne ce code

<script src="http://pipes.yahoo.com/js/listbadge.js">{"pipe_id":"USER_ID","_btype":"list"}</script>

Notez qu'il transmet un littéral d'objet au script distant. je voudrais faire quelque chose de similaire avec mes propres scripts, comment interagissez-vous avec cette entrée?

Était-ce utile?

La solution

Vous ne pouvez pas réellement transmettre des variables comme ça de manière native . Dans son fichier listbadge.js, Yahoo cherche dans toutes les <script> balises de la page jusqu'à trouver celle qui l'a incluse, puis analyse le innerHTML au format JSON.

Leur source a été légèrement obscurcie, mais voici ma meilleure compréhension.

var scripts = document.getElementsByTagName("SCRIPT");

for (var i = 0; i < scripts.length; i++) {
    var includeString = scripts[i].src;
    if (includeString.match("listbadge.js")) {
        if (scripts[i].innerHTML){
            var passedVariables = parseJson(scripts[i].innerHTML);
        }
        break;
    }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top