オブジェクトをリモートjavascriptファイルに送信
-
06-07-2019 - |
質問
したがって、サイトに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;
}
}
所属していません StackOverflow