Invia oggetto a file javascript remoto
-
06-07-2019 - |
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?
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