404 motivation not found | t_ishidaのブログ

8月/08

26

ワッサーをviっぽっく読むためのグリモン

使い方

jで下がって

kで上がって

iでイイネして

0でホームに戻ったりする。

備考

ページングに対応してないので、ちょっと微妙です。

多分、id:itengineerがやってくれると思います。

ページング対応しました。

最後まで行った時にjを押すと勝手にページングします。

モット見るタイプじゃなくて本当にページングするので、微妙です。それはid:itengineerがやってくれると思います。でも、現状だとURLにゴミが残るので注意。原因調査してる時間ないので、とりあえず、注意して使ってください。

以上。

// ==UserScript==
// @name           [Wassr] viっぽく見るの
// @description    viっぽいの
// @include        http://wassr.jp/*
// @author         t_ishida
// ==/UserScript==
(function() {
var divs = [];
var buf = document.getElementsByTagName('div');
for(var i = 0, l = buf.length; i < l; i++ ){
if( buf[i].className == 'MsgBody' ){
divs.push( buf[i] );
}
}
var current_idx = 0;
if( location.href.match( /prev=1/ ) ){
current_idx = divs.length - 2;
scrollDown();
}
observe(
window,
'keydown',
function( e ){
if( !e ) e = event;
if( e.keyCode == 73 ) return toggleIine();
if( e.keyCode == 74 ) return scrollDown();
if( e.keyCode == 75 ) return scrollUp();
if( e.keyCode == 82 ) return showEditor();
if( e.keyCode == 48 ) location.href = 'http://wassr.jp/my';
});
function $( id ){ return document.getElementById( id ); }
function observe(target, type, listener) {
if   (target.addEventListener) target.addEventListener(type, listener, false);
else target.attachEvent('on' + type, function() { listener.call(target, window.event); });
}
function getLT(element) {
var valueT = 0, valueL = 0;
do {
valueT += element.offsetTop  || 0;
valueL += element.offsetLeft || 0;
element = element.offsetParent;
} while (element);
return [valueL, valueT];
}
function scrollUp(){
if( current_idx < 1 ) {
if( !$('PagerPreviousLink') ) return;
location.href = $('PagerPreviousLink').href.replace(
/(?|&)ws_key_prev=1/g ,
function( x, v1 ){ return v1 == '?' ? '?' : ''; }
) + '&ws_key_prev=1';
return;
}
divs[current_idx].style.backgroundColor = '';
current_idx--;
window.scrollTo( 0, getLT( divs[current_idx] )[1] - 50 );
divs[current_idx].style.backgroundColor = 'rgb(200, 0, 200)';
}
function scrollDown(){
if( !divs[current_idx + 1] ){
if( !$('PagerNextLink') ) return;
location.href= $('PagerNextLink').href.replace(
/(?|&)ws_key_prev=1/g ,
function ( x, v1 ){ return v1 == '?' ? '?' : ''; }
);
return;
}
divs[current_idx].style.backgroundColor = '';
current_idx++;
window.scrollTo( 0, getLT( divs[current_idx] )[1] -50 );
divs[current_idx].style.backgroundColor = 'rgb(200, 0, 200)';
}
function toggleIine(){
var elms = divs[current_idx].getElementsByTagName('input');
for( var i = 0, l = elms.length; i < l; i++ ){
if( elms[i].className != 'favorite_button' ) continue;
elms[i].click();
break;
}
}

function showEditor(){
var elms = divs[current_idx].getElementsByTagName('a');
for( var i = 0, l = elms.length; i < l; i++ ){
if( elms[i].className != 'taggedlink' ) continue;
alert( 'ごめんまだこれ動かないんだ(T_T)' );
//elms[i].click();
break;
}
}
})();
Share and Enjoy:
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Tumblr
  • email
  • Facebook
  • FriendFeed

RSS Feed

1件のコメント for ワッサーをviっぽっく読むためのグリモン

itengineer | 2008 年 8 月 26 日 at 2:57 PM

(´・ω・`)知らんがな

Leave a comment!

<< viっぽく見るグリモン(ちゃんとリリース)

Web上のコミュニケーションとか >>

Find it!

Theme Design by devolux.org

Tag Cloud