タグ

ブックマーク / puyo2.hatenadiary.org (7)

  • htmlfileオブジェクトからcreatePopup - プヨぷよの日記

    shearerで更新されたエントリーのポップアップ作ってたときの副産物。開いてるタブのDOMを汚さず、しかも複数ポップアップ*1を出せる。複数ポップアップを出すのにはポップアップからポップアップを出す手法があるけど、これだと親が消えたら一緒に消えてしまう*2。htmlfileオブジェクトを使ってcreatePopupすれば、windowオブジェクト自体を複数作れるので相互干渉せずに出したり引っ込めたりできる。 var ScriptControl = CreateObject("ScriptControl"); ScriptControl.Language = "JScript"; ScriptControl.AddObject("ScriptControl", ScriptControl); ScriptControl.AddObject("sleipnir", sleipnir, tru

    htmlfileオブジェクトからcreatePopup - プヨぷよの日記
  • 辞書データコンバータの改善 - プヨぷよの日記

    SQLite の INSERT は遅いのか? - 元祖 サトシのブログ たまたまここを見たがどうやら SQLiteでは明示的にトランザクションを開始しない限り、INSERT処理の前後に必ず"BEGIN"、"COMMIT"が実行される http://journal.mycom.co.jp/special/2004/php5/007.html のために大量のINSERTを行うと非常に効率が悪いらしい。というわけで万単位のINSERTを実行する辞書データコンバータに db.Query("BEGIN TRANSACTION;"); (略) db.Query("END TRANSACTION;"); の2文を追加したところ所要時間を45分から15秒*1へと短縮できた。なんか変だとは思ってたけど知らないって怖いね。というか恥ずかしくて泣きそうだよ。 一度やればいい処理なので多分ほとんどの利用者にとって

    辞書データコンバータの改善 - プヨぷよの日記
    kohiro0
    kohiro0 2008/11/19
    大量のinsertを行う前にトランザクション
  • スーパードラッグアンドドロップ - プヨぷよの日記

    スーパードラッグアンドドロップっぽいのを作ってみたのでラボのジャンクに置いといた。導入はともかく、カスタマイズは全く洗練されてなくてめんどくさいがあんまりやる気がないので改善する見込みは薄い。IE7 Proに付いてる機能が絶賛されてるあたり、あんまりカスタマイズが必要なものでもないのかな?と思った。そもそもテキスト選択後にググるかURIとして開くくらいしかしないからこそD&Dでってのが便利なんだろうし*1。 初期設定では、選択テキストを右にドロップするとGoogleで検索、左へドロップするとURIと見なして開く。画像上やリンク上での振る舞いは右図のようになる。リンクされた画像かどうかはリンク要素の直下が画像がどうかで判定してるのでそんなに厳密じゃないけど、多分大抵は期待通りに振る舞うと思う。真上や真下ならリンクされているかどうかに関わらず画像を保存するし、左なら画像かテキストリンクかに関わ

    スーパードラッグアンドドロップ - プヨぷよの日記
  • Xpath使えるんだからGM_も使いたいよね - プヨぷよの日記

    ということでGM系関数を実装してみたが、その前に普通の言語やサイト上での利用と異なり、SleipnirScriptでは*1直接的なライブラリ呼び出し手段が無い。さらに、GM_xmlhttpRequestを非同期で使うには毎回@type SleipnirScriptで起動して_windowにオブジェクト渡して、といった処理がいる。ライブラリ呼び出しのための定型文はコピペでいいものの、ライブラリの内容よりライブラリ呼び出しが複雑になっては末転倒なので、橋渡し的なスクリプトにそのあたりの処理とライブラリのロードをまとめて行なわせることにした。 ラボの製作中:ライブラリブリッジがそのためのスクリプトで、Sleipnir\plugins\seahorse\bridge.jsに保存しておき、 var include = [ "GMWrapper", //GM_系を使えるようにするラッパー ""//ダ

    Xpath使えるんだからGM_も使いたいよね - プヨぷよの日記
  • JavaScript-XPathためしたよ - プヨぷよの日記

    特に何か便利なものできたって訳ではないのだけど、気づいたこととか書いた方が良さそうだから。サイト製作者が普通に利用する分には問題無いようなことだけど、SeaHorseスクリプト作ってる人は気をつけたほうがいいと思った。 var fso = sleipnir.CreateObject('Scripting.FileSystemObject'); var path = sleipnir.ScriptFullName.replace(sleipnir.ScriptName, ''); var file = fso.OpenTextFile(path + "javascript-xpath-latest.js"); var window = _window; eval(file.ReadAll()); var r = document.evaluate('//div', document, nul

    JavaScript-XPathためしたよ - プヨぷよの日記
  • IEDockやIEPanelへISleipnirを渡す - プヨぷよの日記

    IEパネルのトラバ企画で書いたような気がしたけど気のせいだったので今更書いてみる。IEPanelだとパネルプラグインが作れるから今一だけど、IEDockの場合オリジナルのDockが作れるし、パネル切り替えなくても読み込むので役に立つこともあるかもしれない。技術的には大したことなくて、SeaHorseを使ってローカルファイル(仮にA.html)で _window.opener.sleipnir = sleipnir; _window.close(); が動くようにしておき、IEPanel, IEDock側でそのローカルファイル(A.html)を開いてやればいい。これでIEPanelやIEDockで開いているローカルファイルでグローバル変数にsleipnirが追加される。ただ、IEPanelでもIEDockでもだけど、setTimeoutなんかのタイマーイベントと併用すると(?)Sleipni

    IEDockやIEPanelへISleipnirを渡す - プヨぷよの日記
    kohiro0
    kohiro0 2007/10/29
    後で試す/試した。window.open()だとIEのポップアップブロックが働いちゃうから、スクリプトじゃ無理?ユーザーオペレーション無しでseahorse動かしたいなぁ
  • プヨぷよの日記

    前々から秘密裏に進んでたSAHK*1が先日一般ベータへ移行した。私は途中参加な上ときどきミーティングに顔出す程度しかできてないんだけど、紆余曲折あったことは知っているので無事日の目を見れてほっとしている。SAHKそのものはまだ一般ユーザーの投稿を受け入れられる段階まできていないけれど、OEI*2・Si/Sar Makerは現状でかなり強力なツールになっている。特に非公式プラグインと一緒にIEPanelEx、IEDockExをインストールする機能はプラグイン自体のインストールが少々煩雑なのと、再配布がNGなのもあいまってこれらプラグインを利用するスクリプト類を利用にする際にはかなり手間を省いてくれるはず。 実はOEIにIEPanelEx、IEDockExをインストールする機能が付いたのは最近で、このテストも兼ねてExSearchBarがExtension一覧に乗ってるんだけど、ちょうどGoo

    プヨぷよの日記
  • 1