1

サイトに yahoo pipes バッジを設定すると、yahoo からこのコードが提供されます。

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

オブジェクト リテラルがリモート スクリプトに渡されていることに注意してください。自分のスクリプトで同様のことをしたいのですが、その入力をどのように操作しますか?

4

1 に答える 1

3

実際には、そのような変数をネイティブに渡すことはできません。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;
    }
}
于 2008-11-07T04:38:34.230 に答える