因此,如果我在我的网站上设置雅虎管道徽章,雅虎会给我这个代码

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

注意它将对象文字传递给远程脚本。 我想用自己的脚本做类似的事情,你如何与那个输入进行交互?

有帮助吗?

解决方案

你实际上不能像本地那样传递变量。雅虎正在做什么,在他们的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;
    }
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top