Frage

Also, wenn ich ein Yahoo Pipes Abzeichen auf meiner Seite bin Einrichtung, Yahoo gibt mir diesen Code

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

Beachten Sie seine Übergabe einen Objektliteral an den Remote-Skript. Ich möchte etwas ähnliches mit meiner eigenen Skripts tun, wie interagieren Sie mit diesem Eingang?

War es hilfreich?

Lösung

Sie können tatsächlich keine Variablen übergeben um so nativ . Was Yahoo tut es ist, dass in ihrer listbadge.js Datei, es allen <script> Tags auf der Seite durchsucht, bis sie die findet man, die sie enthalten, und dann analysiert die innerHTML- als JSON.

Die Quelle wurde leicht verschleiert, aber hier ist mein bestes Verständnis davon.

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;
    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top