掲示板お問い合わせランダムジャンプ

トップスペース
 

2011年03月31日
YouTubeオートリピート(ループ再生)ブックマークレット
 何気なしに作ってみたらあっさり完成したので公開します。

 YouTubeオートリピートブックマークレット
 ↑右クリックなどでブックマークすればブックマークレット化できます。

 ↓中身
javascript:
(function(p,r){
    p=yt.getConfig('PLAYER_REFERENCE');
    r=function(s){if(s==0){p.playVideo()}};
    p.addEventListener('onStateChange',r);
    r(p.getPlayerState());
    try{document.getElementById('watch-headline-user-info').innerHTML+='<strong style="color:red">[repeat]</strong>'}catch(e){}
})();

 この手のブックマークレットは別サイトに飛ばすものが多いですが、移動することなくオートリピートできます。動画再生ページで実行して下のように [repeat] と表示されたら成功です。ついでに「○○をチャンネル登録しよう!」というポップアップメッセージが「Repeeeeeeeeeeeeat」になります(できなくなりました)。
YouTubeオートリプレイSS


●技術的なこと
 YouTubeが用意しているAPIを使ってオートリピートさせてます。下のページが参考になると思います。
 YouTube JavaScript Player API リファレンス - YouTube の API とツール - Google Code
 再生が終了したというイベントを受け取ったら再び再生させるということをやってます。


 それにしてもループ再生くらいは標準で付ければいいのにと思います。


【更新履歴】
 2012/05/11: HTML5でも使えるようにした。
 2011/11/03: リピート失敗が増えたので、一度先頭へシークさせるようにしてみた。
[ 投稿者:うえぽん at 20:15 | ブックマークレット | コメント(5) ]

2010年11月06日
479バイトの人工無能
 3年前に作った「選択範囲を要約する人工無能ブックマークレット(680バイト)」の(680バイト)という部分がずっと気になっていたので 479 バイトまで短くしてみました。


 選択範囲を要約した振りをするブックマークレット(479バイト)
 ↑右クリックなどでブックマークすればブックマークレット化できます。

 下が中身。479 byteです。
javascript:(function(D,t,U,S,N,s,p,q){s=((t?t():document.selection.createRange().text)+U).replace(/(\u3002+|[!-~\uFF01-\uFFE5\u300A-\u3015]\s)\s*/g,'$1'+U).replace(/\s/g,'').split(U);function F(x,y){return y?D[x]?D[x].push(y):D[x]=[y]:D[x][Math.random()*D[x].length|0]};for(p in s)if(t=s[p]){for(F(U,t[S](q=0,N));q<t.length-N;)F(t[S](q,N),t[S](N+q++,1));F(t[S](q),U)}do{t=p=F(U);for(s=300;q=F(p),q!=U&&s--;p=p[S](1)+q)t+=q}while(confirm(t))})({},top.getSelection,'\b','substr',3)

 ニュースサイトやブログの記事をマウスで選択し、このブックマークレットを実行すれば要約した振りをします。
 マルコフ連鎖を使ったいわゆる人工無能というやつです。詳しくは以前のページ(のリンク先)を見てください。
 コードの最後にある数字の 3 はマルコフ連鎖の接頭文字数を意味しています。4 とか 5 にすればもう少し賢くなります。

 動作確認したブラウザはWindowsXP上の Firefox 3.6.12、Opera 10.63、IE8 のみです。たぶん他のブラウザ上でも動きます。フレームを使ったページでは動作しません。

 以前のと比べて気になった人もいるかもしれませんが、全角文字を \u**** という形式にしました。例えば '。' は '\u3002' となってます。
 逆に長くなっていますが、なぜそうしたかと言うと、全角文字を2バイトとカウントするのがなんとなくインチキぽく感じたからというのと、ブックマークレット保存時にURLエンコードされてもサイズがあまり膨らまないからです。

 以下はJavaScriptのコードを短くするのに参考にさせていただいたページです。
 ・JS のコードを短かくする Tips - 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - subtech
 ・空から降ってくる女の子(ゲームっぽく) - 0xFF
 ・ブックマークレットを短くする方法 - Born Neet
 ・Math.floor を使わずに小数を整数にする - IT戦記

 マルコフ連鎖ネタとしてはこんなものも作られています。
 ・「あたし状態遷移図」、あるいは「あたし約5.2MB」 - 理系男子の書斎には、どうしても小説が少ない。っていうか無い。 - ファック文芸部

【関係ない話】
 『孫子の兵法』をアマゾンで買って読んでいるが、「しばしば賞するは窘(くる)しむなり」という言葉がタイムリーだと思った。
 将軍がやたらに賞状や賞金を乱発するのは行き詰っている証拠なんだとか。
 芸能人や有名人が何かの賞を受賞したら思い出したい。
[ 投稿者:うえぽん at 21:28 | ブックマークレット | コメント(0) ]

2010年03月06日
FirefoxでCtrl+Aのトリック画像を見るためのブックマークレット
 かなり昔に簡易電子透かし(Ctrl+Aで絵が浮ぶ画像)というエントリーを書きましたが、この手のトリック画像はIE以外では見ることができない欠点があります。
 どうにかFirefoxでも見られないかと考え、いまさらブックマークレットを作ってみました。

 IEのCtrl+Aもどきブックマークレット
 ↑右クリックなどでブックマークすればブックマークレット化できます。

[更新:2010/03/07]1ドットずれることがあるのでドラッグできるようにしました。

 実行するとクライアント領域をメッシュで覆います。
 ドラッグでメッシュを移動することができます。1ドットずれているような場合はそれで調整してください。
 ダブルクリックでメッシュは消せます。

 下はテスト用画像です。


【アマゾンのアフィリエイト】
 舞-HiME COMPLETE [Blu-ray]
 舞-乙HiME COMPLETE [Blu-ray]

【余談】
 3月15日までの期間限定だが、YouTubeで舞-HiMEが1話〜13話の無料配信がされている。
 YouTube - MyHiME さんのチャンネル
 続きが公開されるかは知らない。
[ 投稿者:うえぽん at 22:02 | ブックマークレット | コメント(0) ]

2007年12月06日
選択したテキストをJavaScriptのコードとして実行するブックマークレット
 ブログなんかでJavaScriptのコードを貼り付けてるのがあるが、それをテキスト選択すると実行できるブックマークレットを作ってみた。

 テキスト選択したJavaScriptのコードを実行

 選択テキストを取得してevalで実行しているだけです。一応、try-catchでエラーメッセージも表示させてます。テキストボックスの中のテキストも選択すれば実行できるので、ブログにコードが貼ってある場合はコメント欄のテキストボックスでコードを弄ってその場で実行できたりします。

 下は実験用。
alert('Hello world');

for (var i=1,sum=0; i<=10; i++) sum += i;alert('1-10の合計は\n' + sum);

alert('このページの更新日時は\n' + document.lastModified);
 一応、似たようなブックマークレットがないかググってみたが見つからなかった。まあ、firefoxのアドオンで似たようなのがありそうだもんね。
 作ってみて気付いたが、このブックマークレットが活用できるページは意外と少なかったりする。

【関係ない余談】
 たまにある空の宝箱はミミックの死骸なんだって。
[ 投稿者:うえぽん at 22:58 | ブックマークレット | コメント(0) | トラックバック(0) ]