os0x

os0x's entries

id:os0x's miniblog

32 fans

To write comments please Login or proceed to Sign Up. Beginner's Guide

os0x

近況

Reply toeigokun
当時のTwitterのAPIはBasic認証だったので、別のサイトとかでTwitterのBasic認証を許可していると、また別のサイトでも認証が勝手に通るという結構危険な仕組みでした
os0x

secondlife セコン

Reply toos0x
あ、、最初のCanvasだけ見てJSな話だと勘違い…。Flashでしたね。
数を絞ればBitmap保存でもいけたような(ついでに、Bitmapでサムネイル作って並べておいてワンクリックで履歴を戻れると便利そう)。
os0x

secondlife セコン

Reply toセコン
履歴用のcanvasを適当な数だけ用意しておいて(DOMツリーに追加しなくてもOKなはず)、drawImageでバックアップしておいて、戻すときもやっぱりdrawImageで戻す方法でそれなりに行けそうな気がしますね。
os0x

Greasemonkey

Reply tomichieru(ノ・o・ノ
Greasemonkeyで追加されたReplyボタンだけ取るサンプルです(一応Google Chrome/Opera/GreaseKitも対応)。
setTimeout(function(unsafeWindow){
unsafeWindow.Hatena.Haiku.Pager.addEventListener('loadedEntries',function(div){
var x = document.evaluate('descendant::a[@class="reply"]',div,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);
var res = [];
for (var i = 0,l = x.snapshotLength; i < l; i++) {
res.push(x.snapshotItem(i))
}
console.log(res);
},false);
},100,this.unsafeWindow || this.contentWindow || this);
os0x

JavaScript

Reply totrashsuite
Array#someならreturn true; すればそこで止まってtrueを返すよ。
os0x

JavaScript

Reply to(/・ω・)/だ?
ECMA-262 3rd Editionでは、{} or {PropertyNameAndValueList} となっていて、最後に,がつく形について書かれていません。
なので、IEがエラー吐くのは仕様的にはおかしくありません。
Operaも9.50以前はIEと同じくエラー扱いでした。

ただ、ECMA-262 3.1 Edition (のドラフト)では{} or { PropertyNameAndValueList } or {PropertyNameAndValueList , } となっていて、最後に,がついてもOKとはっきりと決められました。
なので、できればIE8は対応してほしかったところですね……
os0x

Greasemonkey

今更なんだけど、Expand replies tree の Expand リンク(ボタン)の href にフイタ



1hydeですね、わかります。
os0x

Greasemonkey

Reply toConstellation
あ、いや、なんかこちらこそ申し訳ない。。

ちなみにGoogle Chromeが使っているWebKitはレンダリングエンジンのことで、JavaScriptのエンジンは別物です。そのため、「Safariで動くものはGoogleChromeでも動く」というのはある意味偶然です。
ただ、実際にSafari、Google ChromeのJSエンジンはすごく似ている(ECMAScript++)のと、GreaseKitとGreasemetalの実装もやはり似ています。
なので結局のところ、Safariで動くものはGoogle Chromeでも大抵は動くのでした。
os0x

Greasemonkey

Reply toConstellation
Opera, Safari(GreaseKit), Google Chrome(Greasemetal)で動く、Expand replies treeとautopagerize for haikuあります!!
http://d.hatena.ne.jp/os0x/20071222/1198344919
os0x

AutoPagerize

Autopagerize for haiku のクロスブラウザ版
http://gist.github.com/2409
os0x
os0x

os0x id:os0x

とりあえず、Safari3 GreaseKit1.4 で oAutoPagerize を動かす
os0x

Safari

GreaseKit 1.4 にすると、GM関数がないからほとんどのScriptが動かないなぁ。
os0x

os0x id:os0x

Reply toobacan
ぉ、
照れるじゃないかよ。
os0x

Opera

Reply toos0x
FlashのほうをReplyフォームにも対応するとこんな感じ。

javascript:(function(f,h,i,l,_t){i=0;l=f.length;for(;i<l;i++){_t=f[i].innerHTML;f[i].innerHTML='';f[i].innerHTML=_t.replace(/height=\D\d+\D/,'height='+h).replace(/canvasHeight=\d+/,'canvasHeight='+(h-50));}})(Ten.DOM.getElementsByClassName('draw-container'),prompt('height?',300));
os0x

Opera

Operaでもサイズを変更できるようにするBookmarklet!

Text:
javascript:(function(f,i,l){i=0;l=f.length;for(;i<l;i++)f[i].setResizer();})(Hatena.Haiku.EntryForm.forms);

Flash:
javascript:(function(p,h,_t){_t=p.innerHTML;p.innerHTML='';p.innerHTML=_t.replace(/height=\D\d+\D/,'height='+h).replace(/canvasHeight=\d+/,'canvasHeight='+(h-50));})(Ten.DOM.getElementsByClassName('draw-container')[0],prompt('height?',300));

Flashのほうは書いてたものが消えるので注意
os0x

os0x id:os0x

Greasemonkey弄ってるうちにhaikuの使い方がわかってきた。
os0x

Opera

はFlashのサイズを動的に変えることができない。
そのためhaikuでry
os0x

Greasemonkey

Reply to砂糖
Thx!
ぅぅぅ、やはりOperaのバグみたいですね。
os0x

Greasemonkey

Reply to砂糖
あれー、でもwrappedJSObjectは関数じゃないから上手くいかないような。
getter/setter(Opera9.5以降)じゃないとダメっぽいです。

Choose your content preference