タグ

ブックマーク / os0x.hatenablog.com (12)

  • Safari5の拡張作ってみた - os0x.blog

    Chrome拡張をとりあえず3つだけSafari拡張に移植というか、どちらでも動くようにしてみました。以下からインストールできると思いますが、今のところ拡張は頻繁にクラッシュしますし、正式リリースされてないということは色々と問題が残っているということですから、そのあたりをご理解の上、ご利用は自己責任でお願いします。 http://ss-o.net/safari/extension/AutoPatchWork.safariextz AutoPatchWorkのSafari拡張版。いわゆるAutoPagerizeクローン。アイコンの色がおかしい?アイコンの色は制限されているみたいです。ちょうどいい機会なのでアイコンを廃止してページの下にラインを出すようにしました。 http://ss-o.net/safari/extension/SocialCounter.safariextz SocialC

    Safari5の拡張作ってみた - os0x.blog
  • W3C Widget とその応用を考える会でLTしてきました - os0x.blog

    2010年5月27日開催 HTML5 TechTalkスペシャルにて、Canvasについてお話してきました。 発表に使ったスライド:Canvasでピクセル操作 by os0x デモはPixel Worksに(Opera Widgets用だけど普通のHTMLなので大抵のブラウザで動きます) 他の方の発表・資料はPast Events - html5j.orgに。 以下、適当に反省点などを箇条書きで。 この前のJSパーティクル崩しで使ったテクニックのネタ紹介のような感じです。 最適化前はこんなだったのがここまでになったよ。 (最初に移植した)kyo_agoさんよりAS版よりもJS版のほうがなぜかブロックが崩れやすいという指摘が。確かにそんな気がするのであとで調べるかも。 canvasが大きくなるとキツイので、ImageDataを分割して必要な範囲だけ再描画するなんて方法もやってたりします。JS

    W3C Widget とその応用を考える会でLTしてきました - os0x.blog
    tacroe
    tacroe 2010/05/29
  • CSSセレクタの高速化の話を検証 - os0x.blog

    CSSセレクタの高速化の話し - Webtech Walkerの件。元ネタは続・ハイパフォーマンスWebサイト ―ウェブ高速化のベストプラクティスで、元ネタの元ネタはWriting Efficient CSS for use in the Mozilla UI - MDC。 先に書いておくと、この元ネタのMozillaの記事には、in the Mozilla UIとある通り、FirefoxなどのUIレベルの話です。Mozillaの場合、ウィンドウとかタブとか、とにかくなんでもCSSでスタイルを指定できる(している)のでCSSのパフォーマンスについて考慮する点が他のブラウザとはズレています。 とはいえ、実際にどうなのか検証したことなかったので、少し試してみました。 今回の検証方法は、dl>dt+ddを5重に入れ子にした300KB強の大きめなHTMLを用意して、CSSを動的に適用したときの時間

    CSSセレクタの高速化の話を検証 - os0x.blog
    tacroe
    tacroe 2010/05/23
  • ブックマークレットサービス・Hatena::Let を使ってみた - os0x.blog

    ブックマークレットサービス・Hatena::Let を作りました - 2nd lifeとのことで、早速使ってみました。使い方はホント簡単でログインして作成ボタン押して書いたら公開するだけ(ブログに貼るには個別ページ下にあるiframeタグをそのまま使うだけ)。 とりあえず、oAutoPagerize もともとBookmarkletとして動くように作ってあるので、@requireにファイルを指定しただけ。 あと画像をポップアップに開いたり、 ページを画像だけに置き換えたりするヤツ*1 こっちはベタに書いてみたけど、そしたら外部JSを読みに行く形にはならなくて、無名関数とかも付加されていないみたい。短いときはこうなるのかな? 画像置き換えのBookmarkletは抽出条件を変えたり、一覧をCSSJavaScriptでギャラリーのような機能を追加したりと遊びがいがあるBookmarkletなの

    ブックマークレットサービス・Hatena::Let を使ってみた - os0x.blog
  • HTML5とか勉強会でお話してきました - os0x.blog

    HTML5-Developers-jpの白石さん主催の第4回 HTML5とか勉強会(旧Webkit/HTML5勉強会) : ATNDChrome拡張についてお話してきました。 資料はこちら Chrome Extension meets HTML5 第4回 HTML5とか勉強会(チロルは除く) - Togetterに、Ustreamの録画もあります 2010/03/17 HTML5とか勉強会#4, HTML5とか勉強会#4 html5j on USTREAM. Technologie 定員40名があっという間に埋まってしまうほど人気の勉強会なので、最初は緊張しましたが、アットホームな雰囲気ですごくやりやすかったです。 さて、資料内でも触れていますが、3月24日に Google Chrome OS ~最新技術と戦略を完全ガイド~ 作者: 小池良次,中島聡,伊藤千光,太田昌吾,まえだひさこ,向

    HTML5とか勉強会でお話してきました - os0x.blog
    tacroe
    tacroe 2010/03/19
  • Chromeで読み込みに失敗した画像についてリファラを消して再読み込みを試みる方法 - os0x.blog

    [追記]実際に使用したい方は @civic さん作のLDR Image Loader extensionをどうぞ。 Chrome Dirty Hacks 01: fc2 image for LDR - 枕を欹てて聴くの別解みたいなのです。要は、livedoor Readerでfc2やアメブロの画像を表示してやろうというネタです。 まず、id:edvakfさんが実験していた edvakf's gist: 48621 — Gist から インラインフレームにdataスキームでhtmlを挿入するとlocationがそのdataスキーム自身になり、そこからのリクエストにはリファラがつかない というテクニックを応用して、さらに errorイベントキャプチャリングフェーズで監視*1して画像のerrorを捕捉 インラインフレームを作ってデータスキームのhtmlを挿入し、そのなかで読み込みに失敗した画像を

    Chromeで読み込みに失敗した画像についてリファラを消して再読み込みを試みる方法 - os0x.blog
  • Google Chrome 2.0のUserScriptsはGreasemonkey互換のようで、そうではない - os0x.blog

    嵌る人がいそうなので、先に書いておきます。 User Scriptsを書いてみると GM_系のAPIが一通り定義されていて、一見Greasemonkeyと互換性がありそうに見えますが実はほとんど機能していません。 実装は http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/resources/greasemonkey_api.js?view=log にあるんですが、例えば GM_[gs]etValueはlocalStorageを使っていて、(これはChrome 3.0 で実装される予定、つまり未実装なので)使うとエラーになります。 そのほかも、中身は throw new Error("not implemented."); となっていて、使うとエラーをぶん投げてきます(typeofとかでチェックしても使えるかわから

    Google Chrome 2.0のUserScriptsはGreasemonkey互換のようで、そうではない - os0x.blog
  • AutoPagerizeの動作の流れ - os0x.blog

    AutoPagerize くらいは - twwp宛て。 家swdyh版について(oAutoPagerizeも主な流れは同じだけど)、ざっくりと処理の流れを(細かいところやメインでない部分は省いています)。 ページの読み込み→Greasemonkey起動(この辺は省略)、AutoPagerize起動 SITEINFOの読み込み SITEINFOの期限が切れていた場合、wedataから最新を取得 URLにマッチするSITEINFOがあるかチェック、なければ終了 SITEINFOのXPathが機能しているかチェック、XPathで要素を取れなかったら終了 初期化処理 次のページのURL取得 差込位置の決定、insertBeforeか、pageElementの最後の次の要素 右上アイコン・ヘルプの設置 スクロール監視の開始 読み込み開始位置の決定(どこまでスクロールしたら次のページを読み込むかは、

    AutoPagerizeの動作の流れ - os0x.blog
  • Google Chrome 2.0.170のGreasemonkeyとoAutoPagerizeについて - os0x.blog

    Google Chrome 2.0.170から、Greasemonkey(というか、UserScriptsって言うべきか)の実装が変わり、oAutoPagerizeが動かなくなっていたので修正しました。体、SITEINFO(必要であればSettingsも)全て更新の必要があります。 oAutoPagerize - 0xFF 以下、中の話。 今までは各スクリプトがグローバルスコープで実行されていましたが、2.0.107から各Scriptごとにスコープが作られるようになって、FirefoxのGreasemonkeyの実装に近くなりました。 Firefox版でいうunsafeWindowとして、contentWindow というグローバルオブジェクトが用意されています。(例えば、ページがjQueryを使っていた場合、 window.jQuery は undefined で、代わりに conte

    Google Chrome 2.0.170のGreasemonkeyとoAutoPagerizeについて - os0x.blog
  • リンクになっていないURLを新規タブで開くGreasemonkey Script - os0x.blog

    Text URL Linker という Greasemonkey Script を CodeRepos (と Text URL Linker for Greasemonkey) にあげました。Firefox の Greasemonkey, Opera(9.50以降) の UserJavaScript, Safari の GreaseKit, Google Chrome の Greasemetal, Chromium の Greasemonkey で動作します。 はてなダイアリーのコメント欄など、リンクになっていないURL (一応 ttp://hoge のようなURLにも対応) を新規タブで開くリンク(通常のリンクと区別するため overline 入りカーソルをhelp) にする Script です。Firefox の人には Piro さんの Text Link でお馴染みのあれです。同種の

    リンクになっていないURLを新規タブで開くGreasemonkey Script - os0x.blog
    tacroe
    tacroe 2009/03/16
    textlink
  • 空から降ってくる女の子(ゲームっぽく) - os0x.blog

    空から女の子が降ってくる - ぼくはまちちゃん!(Hatena) id:murky-satyr先生 の http://gist.github.com/45346 を勉強目的に読んでたら、自分でも書きたくなってついやってしまった。すごく出遅れ感あるけど、折角なので公開。 <br /> javascript:H='http://hamachiya.com/g';E='.gif';R=Math.random;Q=new Image;Q.src=H+1+E;N=90;P='%';I=0;L=function(Y,r,V,f,S){S=(V=Q.cloneNode(r=R(Y=N)+1)).style;S.position='absolute';S.right=R()*N+P;(B=document.body).appendChild(V);f=function(){Y>2?(S.bottom=(Y

    空から降ってくる女の子(ゲームっぽく) - os0x.blog
    tacroe
    tacroe 2009/01/13
    new Date&63 乱数の代用品として、日付のシリアル値をビット演算している。
  • Opera9.5以降でURL、タイトルと選択範囲をクリップボードにコピー - os0x.blog

    <動作内容>選択範囲のテキストと、選択範囲を含むページのURLおよびタイトルを引用タグ(blockquote)で閉じた状態の文字列を、JavaScriptで以下のように整形し、クリップボードにコピーする。 http://my.opera.com/kyu3/blog/2008/06/22/opera-2 を参考に、はてなの引用記法のように、citeとtitle属性を追加してみた。 Go to page, "javascript:window.prompt('',((window.getSelection()+'')?('<blockquote title=\x22'+document.title+'\x22 cite=\x22'+location.href+'\x22>'+window.getSelection()+'\n\t<cite>'):'')+'<a href=\x22'+locat

    Opera9.5以降でURL、タイトルと選択範囲をクリップボードにコピー - os0x.blog
  • 1