Bing APIをjQueryで動かしてみるテスト

Bing API使ってみました。Bing Developer CenterでAppIDを作成する必要あり。
Documentはこのへんを参考に。
jQueryはjquery-1.3.2.min.jsを使用。

HTML

<form id="form">
	<input type="text" value="" id="inputText" />
	<button type="submit" id="button">Search</button>
</form>
<ul id="output"></ul>

$.ajax使うとWeb.Offseとか、ドットの部分でコケるので、とりあえず連結。
Javascript(jQuery)

$AppId = ""; // Please set your AppID

function Search($value){
	$.ajax({
		url : 'http://api.search.live.net/json.aspx?Web.Count=20&Web.Offse=0&Web.Options=DisableHostCollapsing+DisableQueryAlterations',
		data : {
			AppId : $AppId,
			Query : $value,
			Sources : 'Web',
			Version : '2.0',
			Market : 'en-us',
			Adult : 'Moderate',
			Options : 'EnableHighlighting',
			JsonType : 'callback',
			JsonCallback : 'SearchCompleted'
		},
		dataType : 'jsonp'
	});
}

function SearchCompleted($response){
	$errors = $response.SearchResponse.Errors;
	if($errors != null){
		DisplayErrors($errors);
	}else{
		DisplayResults($response);
	}
}

function DisplayErrors(errors){
	var output = document.getElementById("output");
	var errorsHeader = document.createElement("h4");
	var errorsList = document.createElement("ul");
	output.appendChild(errorsHeader);
	output.appendChild(errorsList);

	// Iterate over the list of errors and display error details.
	errorsHeader.innerHTML = "Errors:";
	var errorsListItem = null;
	for (var i = 0; i < errors.length; ++i){
		errorsListItem = document.createElement("li");
		errorsList.appendChild(errorsListItem);
		errorsListItem.innerHTML = "";
		for (var errorDetail in errors[i]){
			errorsListItem.innerHTML += errorDetail + ": " + errors[i][errorDetail] + "<br />";
		}
		errorsListItem.innerHTML += "<br />";
	}
}

function DisplayResults($response){
	$results = $response.SearchResponse.Web.Results;
	$("#output").empty();

	if ($response.SearchResponse.Web.Total > 0) {
		jQuery.each($results, function(i){
			$Url = $results[i].Url;
			$Title = $results[i].Title;
			$Description = $results[i].Description;
			$DateTime = $results[i].DateTime;

			$HTML = '<li><a href="' + $Url + '" target="_blank">' + $Title + '</a><br />' + $Description + '<br />' + $Url + '</li>';
			$HTML = ReplaceHighlightingCharacters($HTML, "<strong>", "</strong>");

			$("#output").append($HTML);
		});
	}else{
			$HTML = '<li>Did not match any pages.</li>';
			$("#output").append($HTML);
	}

}

function ReplaceHighlightingCharacters(text, beginStr, endStr){
	$regexBegin = new RegExp("\uE000", "g");
	$regexEnd = new RegExp("\uE001", "g");
	return text.replace($regexBegin, beginStr).replace($regexEnd, endStr);
}

$(function() {
	$("#form").submit(function(){
		$value = $("#inputText").attr("value");
		Search($value);
		return false;
	});
});

いい加減なデモがここにあります。
Bingの場合、動画Verを作ったほうが面白そうですね・・・

21:40:32-6 月.09

Posted in JavaScript

No Comments »

Riff-rain / school food punishment


iTunesで購入。バンド名だけ見るとヤングな感じだけども、透明感のある音で独特なポップ感がある、変則的なロックバンドです。
トルネード竜巻 meets BONNIE PINKみたいな。声はかなりボニーっぽい気がする。
こういう音、好きです。

一般大衆にどこまでウケルか気にあるところ・・・バンドマンはこぞってコピーをしそうではある。

Riff-rain / school food punishment

Ps,
久々に見たら、活動休止してた・・・
トルネード竜巻

14:31:01-6 月.08

Posted in CD

No Comments »

ペンギンホットサンドメーカー当選した(Suica)

Suicaで適当に買い物してたら当選したようで、ついにモノが届いた!
ホットサンドメーカー。スイカペンギンの顔の焼印が入るらしい。

なかなかイイ顔してる・・・こんな感じ

ヤクオクを見てみると、そこそこ高値で取引されている様子・・・!
まあ、使っちゃうけど。

キレイに焼きあがったら、また写真を撮ってみようと思う!

22:20:01-6 月.07

Posted in Private

No Comments »