質問

したがって、サイトにyahoo pipesバッジを設定している場合、yahooはこのコードを提供します

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

オブジェクトリテラルをリモートスクリプトに渡すことに注意してください。 私は自分のスクリプトで似たようなことをしたいのですが、その入力をどのようにやり取りしますか?

役に立ちましたか?

解決

実際にそのような変数を自然に渡すことはできません。 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;
    }
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top