所以如果我在我的网站上设置雅虎管道徽章,雅虎会给我这个代码
<script src="http://pipes.yahoo.com/js/listbadge.js">{"pipe_id":"USER_ID","_btype":"list"}</script>
请注意它将对象文字传递给远程脚本。我想用我自己的脚本做类似的事情,你如何与那个输入交互?
所以如果我在我的网站上设置雅虎管道徽章,雅虎会给我这个代码
<script src="http://pipes.yahoo.com/js/listbadge.js">{"pipe_id":"USER_ID","_btype":"list"}</script>
请注意它将对象文字传递给远程脚本。我想用我自己的脚本做类似的事情,你如何与那个输入交互?
您实际上不能像native那样传递变量。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;
}
}