Domanda

Quindi, se sto impostando un badge di pipe yahoo sul mio sito, yahoo mi dà questo codice

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

Notare che passa letteralmente un oggetto allo script remoto. vorrei fare qualcosa di simile con i miei script, come interagisci con quell'input?

È stato utile?

Soluzione

In realtà non puoi passare variabili come quella nativamente . Quello che sta facendo Yahoo è che nel loro file listbadge.js, cerca tra tutti i <script> tag nella pagina fino a trovare quello che lo includeva, quindi analizza innerHTML come JSON.

La loro fonte è stata leggermente offuscata, ma ecco la mia migliore comprensione.

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;
    }
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top