にこにこランキングをいじくってみた、に続いて検索版を作りました。
基本は同じですが、何番目か分かるようインデックスを追加してみました。
#にこにこ動画にログインしていないと機能しません。IEでしか機能しません。IE6.0でしか確認していません。
#インターネットオプション->セキュリティ->レベルのカスタマイズ->その他->ドメイン間でのデータソースのアクセス、を無効以外にしないと機能しません。
動作画面
ソースコード
<html>
<head>
<meta http-equiv="MSThemeCompatible" content="yes">
<script type="text/javascript">
var http, index, count = 3, urls = [];
var onLoaded = function( response ) {
var div = document.createElement( "div" );
div.innerHTML = response.responseText;
var tables = div.getElementsByTagName( "table" );
var table;
for( var i = 0; i < tables.length; i++ ) {
if( tables[i].summary == "一覧" ) {
table = tables[i];
break;
}
}
if( !table ) { return; }
var links = table.getElementsByTagName( "a" );
for( var i = 0; i < links.length; i++ ) {
var block = document.createElement( "span" );
block.style.cssText = "position:relative;";
links[i].target = "_blank";
var tag = document.createElement( "span" );
tag.appendChild( document.createTextNode( ++index ) );
tag.style.cssText = "position:absolute; font:bold large; left:5px; top:5px; \
cursor:pointer; filter:glow( color = #ffffff, strength = 5 )";
tag.onmouseover = function() { this.style.color = "red"; }
tag.onmouseout = function() { this.style.color = ""; }
block.appendChild( tag );
block.appendChild( links[i] );
target.appendChild( block );
}
request();
}
var request = function() {
var url = urls.shift();
if( !url ) { return; }
http = http || new ActiveXObject( "Msxml2.XMLHTTP" );
http.open( "GET", url, false );
http.onreadystatechange = function() {
if( /*http.status == 200 &&*/ http.readyState == 4 ) {
onLoaded( http );
}
}
http.send();
}
var search = function( keyword, options ) {
target.innerHTML = "";
index = 0;
var baseUrl = "http://www.nicovideo.jp/search/" + encodeURI( keyword ) + "?" + options;
while( urls.length ) { urls.shift(); }
for( var i = 1; i <= count; i++ ) {
urls.push( baseUrl + "&page=" + i );
}
request();
}
</script>
</head>
<body>
<form style="margin:0px;" onsubmit="search(this.firstChild.value,typeselect.options[typeselect.selectedIndex].value);return false;">
<input value="初音ミク" />
<select id="typeselect">
<option value="">投稿日時が新しい</option>
<option value="order=a">投稿日時が古い</option>
<option value="sort=v" selected>再生が多い</option>
<option value="sort=v&order=a">再生が少ない</option>
<option value="sort=n">コメントが新しい</option>
<option value="sort=n&order=a">コメントが古い</option>
<option value="sort=r">コメントが多い</option>
<option value="sort=r&order=a">コメントが少ない</option>
</select>
<input type="submit" value="GO" />
</form>
<div id="target" style="border:3px double green; width:700px; height:500px; overflow-y:scroll; padding:2px;"></div>
</body>
</html>
#今度こそSyntaxHighlighterですよぅ(>w<)b
#@import url("");が使えなかったのでとりあえず<link href="" type=text/css rel=stylesheet>で(・x・どしてだろー
#詳説はまた今度!