Отправить объект в удаленный файл JavaScript - PullRequest
1 голос
/ 07 ноября 2008

Так что, если я устанавливаю на своем сайте значок с трубкой Yahoo, Yahoo дает мне этот код

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

Обратите внимание на передачу литерала объекта удаленному сценарию. я хотел бы сделать что-то подобное с моими собственными сценариями, как вы взаимодействуете с этим входом?

1 Ответ

3 голосов
/ 07 ноября 2008

На самом деле вы не можете передавать переменные таким образом изначально . Что делает Yahoo, так это то, что в своем файле listbadge.js он просматривает все теги <script> на странице, пока не находит тот, который его включил, а затем анализирует innerHTML как JSON.

Их источник был слегка запутан, но вот мое лучшее понимание этого.

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;
    }
}
...