2008/01/31


んー。
// ==UserScript==
// @name           Speedtest Ikasama
// @namespace      Speedtest.Ikasama
// @include        http://speedtest.10-fast-fingers.com/
// ==/UserScript==

var w=document.getElementById('eingabe');
var v=document.getElementById('vorgabe');
var s = 0;
var z = unsafeWindow.pruefstring;
var f1 = unsafeWindow.welchedown;
var f2 = unsafeWindow.welcheup;
unsafeWindow.wort = (z+z+z+z+z).split(' ');
(function go() {
    clearTimeout(s);
    var t = v.innerHTML.replace(/<[^>]+>/g, '');
    if (t){
        var i=0;
        while(true){
            t = v.innerHTML.replace(/<[^>]+>/g, '');
            var e = document.createEvent('KeyboardEvent');
            e.initKeyEvent('keypress', true, true, window, false, false, false, false, 0, t.charCodeAt(i));
            w.dispatchEvent(e);
            f1(e);f2(e);
            if (++i >= t.length) break;
        }
    }
    s = setTimeout(go, 0);
})();
こんなの使っても
typing-fast
8位って事は、1位の人もHackingやん!www
こんな速度、人間じゃありえん!
speedtest.ikasama.user.js
# 10-fast-fingers.com - Speedtest


ちなみにこのスクリプト、なんでこんな変な事しているかといいますと...
まずど頭で、「z+z+z+ ...」ってやってる部分は、あまりにタイプスピードが速すぎて、内部の配列がオーバーフローしてしまっているのでキャパを取り直しています。次にループ内で再度「t」を取り直しているのは、このSpeedtestがイカサマ防止の為にタイプ中にワードを増やす処理が入っており、それをハンドリングする為に入っています。
Posted at by




こりゃすげ。
URLを渡すとページの内容(htmlソース)をJSONPとかで取得できるAPIをYahoo! Pipesで作った(管理人日記) - むぅもぉ.jp
Yahoo! PipesにFetch Pageモジュールが追加されたので、さっそく作ってみた。
これで色んなことが出来るようになるし、グリースモンキーに頼っていたクロスドメインな処理がJSONだけで出来るようになる。
これまでにも同様の事が出来るサービスはあったけど、Yahoo! Pipesがサポートしたってのは強い。
試しにYahoo! JapanのHTMLをレンダリングするサンプルを作ってみた。
以下コード
<script type="text/javascript"><!--
function on_load_document(data) {
    document.getElementById('yahoo_html').innerHTML = data.value.items[0].description;
}
function load_document() {
    var url = 'http://www.yahoo.co.jp/';
    var s = document.createElement('script');
    s.charset = 'utf-8';
    s.src = 'http://pipes.yahoo.com/poolmmjp/page_loader?url=' + encodeURIComponent(url) + '&_render=json&_callback=on_load_document';
    document.body.appendChild(s);
}
--></script>

<input type="button" onclick="load_document()" value="Yahoo! Japanを表示">
<div id="yahoo_html"></div>
実行結果は↓

続きを読む...

Posted at by




はてなTIPS - アドレスから「id naoya」でダイアリーに
こんなの使えないかなぁ...
javascript:alert(%s);void 0
これを「js」てキーでレジストリ登録しておけば今まで javascript:alert(document.getElementById('banner'));void 0 ってやってたオブジェクトの存在確認が js document.getElementById('banner') って感じに少し楽になる。
単に評価式を返すので js document.getElementById('banner').innerHTML = 'ばなー'; ってな感じにも使えますね。

あと、もうすこし凝ってダイナミックローダ作ってamachangのjavascript-xpath.js使って xpath //div[@id='foo']//span なんて事も出来るのかも。もちろんIEなのでtoJSONなんかを実装した方がalertで確認し易いけど...。

Posted at by