へ?
iTunes StoreってWeb APIもってたの?
持ってましたよ。しかもJSONPが使える。
というわけで、検索できるようにしてみました。
Demo
JS Source
いたってシンプルです。
(function(d){ var $ = function(id){ return d.getElementById(id) }; var json2list = function(json){ var ul = d.createElement('ul'); ul.style.listStyleType = 'none'; if (json['artworkUrl100']){ var a = d.createElement('a'); a.href = json['itemLinkUrl']; a.target = '_blank'; var img = d.createElement('img'); img.setAttribute('style', 'float:right; margin-right:0.5em'); img.src = json['artworkUrl100']; a.appendChild(img); ul.appendChild(a); } var keys = []; for (var p in json) keys[keys.length] = p; keys.sort(); for (var i = 0, l = keys.length; i < l ; i++){ var p = keys[i]; if (p.match(/Url/)) continue; var li = d.createElement('li'); li.appendChild(d.createTextNode(p + ': ')); if (json[p]) li.appendChild( typeof(json[p]) === 'object' ? arguments.callee(json[p]) : d.createTextNode(json[p]) ); ul.appendChild(li); } return ul; }; JSONP = { get:function(term){ var u = 'http://ax.phobos.apple.com.edgesuite.net' + '/WebObjects/MZStoreServices.woa/wa/itmsSearch?' + ['output=' + 'json', 'callback=' + 'JSONP.run', 'country=' + 'JP', 'lang=' + 'ja_jp', 'term=' + encodeURIComponent(term) ].join('&'); var s = d.createElement('script'); s.charset = 'UTF-8'; s.id = s.src = u; d.body.appendChild(s); }, run:function(json){ $('its.attr').innerHTML = ''; if (json.errorMessage){ $('its.attr').appendChild(json.errorMessage); }else{ var ol = d.createElement('ol'); for (var i = 0, l = json.resultCount; i < l; i++){ if (!json.results[i]) continue; var li = d.createElement('li'); li.appendChild(json2list(json.results[i])); ol.appendChild(li); } $('its.attr').appendChild(ol); } } }; })(document);
Enjoy!
Dan the Ajax Monger
次回も期待してます
またおじゃまします