Home / Diary / タグ: opera
del.icio.usではブックマークされたページ毎にユーザー・コメント・タグを表示させることができるが、そのURLがMD5を使用したものなのでアクセスしにくい。
http://del.icio.us/url/46efc577b7ddef30d1c6fd13311b371e
そこで、URLを付けてアクセスしたら、MD5にしてHistoryページにリダイレクトさせるようにしてみた。幸いにも無効なページの場合に他のURLに飛ばすような真似はしていなかったのですんなり成功。
deliciousnohash.user.js
通常ハッシュの部分にURLを入れるか、めんどいなら/url/を取っ払っても大丈夫なようにした。インストールすれば、下記2つのリンクはどちらもリダイレクトされるはず。
OperaとFirefoxの両方に対応。試してないがSleipnir(SeaHorse)もいけない。いけたりする。
追記
http://del.icio.us/url?url=[URL]
でイケるとのツッコミを受けた。は、初めて知った・・・
教訓:ヘルプには目を通しておけ
Info
- 投稿日
- 2007年3月20日
- タグ
- firefox、opera、userjs
- このエントリの固定リンク
- http://diary/log/1523.html
- ブックマークに追加する
-
- コメント
2007
0320
Tagsfirefoxoperauserjs
LDRやブックマークで巡回している時に後から読みたい記事に出会ったらタイトルとURLをコピーしてメモに貼り付け。んで、時間が空いたときに一つ一つ貼り付けて移動で開いていたのだが、これがまろやかにめどい。
テキスト内のURLだけをまとめて全部開けないだろうか、と思って作ったのが以下のもの。
以前選択テキストのURLを開きまくる際にahkで作ってしまったものを再利用しようと思ったが、思わぬアクシデントが。
Copy & Executeからだと、最終的にコマンドラインで渡す際には日本語が入っていても問題無かった。しかし、クリップボードのみを利用するとなぜか最後のコマンドラインで渡す際に日本語が化けた。調べてみたが理由がさっぱりわからん。
仕方ないので、原因が文字コードならUnicodeにしてurlencodeすればいいじゃん、と力技で解決して見事に日本語入りでも問題なくクリップボード内のURLを新しいタブで開けるようになった。
あとはこれをどのショートカットキーを割り当てるかだが・・・・
Ctrl+Bは貼り付けて移動。Ctrl+Shift+Bは新しいタブに貼り付けて移動、となるとAltでもつけたくなるが、さすがに片手で押し辛くなるのはイヤなので、無難にCtrl+Shift+Vに割り当てた。
;keyboard.ini
[Application]
v ctrl shift = Execute program, "C:\ahk\AutoHotkey.exe", "C:\ahk\masspasteandgo.ahk"
;menu.ini
[Edit Go Widget Popup Menu]
Item, "貼り付けて全て開く" = Execute program, "C:\ahk\AutoHotkey.exe", "C:\ahk\masspasteandgo.ahk"
menuを弄る場合同様、keyboard.iniはopera/defaultディレクトリのstandard_keyboard.iniをコピーしてprofile下のkeyboardディレクトリにコピーしてから編集する。その際にInfo部分のNameを編集しておくと判別し易くなる。
masspasteandgo.ahk
Info
- 投稿日
- 2007年2月5日
- タグ
- ahk、opera
- このエントリの固定リンク
- http://diary/log/1507.html
- ブックマークに追加する
-
- コメント
2007
0205
Tagsahkopera
ahkで作ってみたけど、JavaScriptで選択範囲のソースを取得できることをすっかり忘れてた。
get n go selection links
こっちのほうがいいな、うん。
ただ、こっちだとaやimg等の要素の属性しか見ていないようなので、テキストノードも見ることができるのを作った。ノードだけ見るか、テキストだけ見るか、両方見るか、の3通りで開きまくれるように。
使い方は一緒で、まずユーザースクリプトディレクトリにopenselectionurl.jsを入れたらmenu.iniの[Hotclick Popup Menu]に以下の項目を追加。
Item, "選択範囲内の全てのリンクを開く" = Go to Page, "javascript:openSelectionURL( 'node' )"
Item, "選択範囲内のリンクされていない全てのURLを開く" = Go to Page, "javascript:openSelectionURL( 'text' )"
Item, "選択範囲内のURLを全て開く" = Go to Page, "javascript:openSelectionURL( 'both' )"
これで右クリックからURLを開きまくれる。
リンクされていないURLについては、最低限スラッシュ2つかwwwで始まっていればURLと見なすようにした。また、wikipediaについてはURLに日本語が使われていても認識するようにした。
このスクリプトの弱点はポップアップブロックにひっかかってしまうことか。
先日作ったahk版ならコマンドラインから渡すのでポップアップブロックに引っ掛からないという利点がある。テキストのみahk版で処理するのもアリかも知れない。
Info
- 投稿日
- 2007年1月12日
- タグ
- opera
- このエントリの固定リンク
- http://diary/log/1503.html
- ブックマークに追加する
-
- コメント
2007
0112
Tagsopera
http://www.google.co.jp/
ttp://search.yahoo.co.jp/
://search.msn.co.jp/
こーいったリンクされていないURLをまとめて開きたい。
ただ単に選択テキストをコピーしてahkに渡しつつ、正規表現でURLっぽいのをゲットして、そのままOperaにコマンドラインで渡せばできね?
と思ったら、渡した分だけウインドウが作られてしまった。現在開いているOperaに新しいタブとして追加させるにはDDEで渡すしかないっぽいが、AutoHotKeyでDDEを扱う方法が分からなかったので、力技でやることにした。
;menu.ini
[Hotclick Popup Menu]
Item, "選択テキスト内のURLを全て開く" = Copy & Execute program, "C:\ahk\AutoHotkey.exe", "C:\ahk\openallurl.ahk"
;openalllink.ahk
#NoTrayIcon
lines := RegExReplace( Clipboard, "(`r`n)+", "`r")
Loop, parse, lines, `r,
{
match_result := RegExMatch( A_LoopField, "t?p?s?:?//([-_.!~*'()a-zA-Z0-9;/?:@&=+$,`%#]+)", $ )
If match_result != 0
{
Clipboard = http://%$1%
wait( 10 )
Send, {LCtrl Down}t{LCtrl Up} ;新しいタブ
wait( 40 )
Send, {LCtrl Down}b{LCtrl Up} ;貼り付けて移動
wait( 40 )
}
}
wait( time ) {
begin := A_TickCount
Loop
{
if A_TickCount - begin > time
break
}
}
何をしているのかというと、選択テキストを改行で分解してURLっぽいのをゲット。ここまでは良い。その後は・・・
- ゲットしたURLをクリップボードに入れる
- 強制的にCtrl+Tを発生させて新しいタブを表示させる
- 強制的にCtrl+Bを発生させてクリップボード内のURLを貼り付けて移動させる
- 1~3を繰り返す
こんなんで本当に大丈夫なのか? と思ったが、どうやらCPUを他に取られていると新しいタブの生成や貼り付けてからの移動で微妙に時間を取ってしまい、次の入力がズレてしまう時があったのでwaitを入れることにした。上手く開かない時はwaitの数字を大きく設定する。waitがちゃんと入っていればしっかり開かれるようだ。
正規表現はPerlメモから拝借した。非リンクだけじゃなくh抜き等にも対応するため、最低限スラッシュ2個さえあれば反応するようにしてる。そこら辺で不都合があるなら適当に弄るといいだろう。
openallurl.ahk
追記1
選択範囲のソースを取得できることをすっかり忘れてた。というわけでJavaScriptで全て解決するっぽいのでがんばる。
一応ahk経由だとポップアップブロックが発生しないというメリットが一応あるんだがな。そこら辺は使う人次第か。
追記2
渡した分だけウインドウが作られたって書いたけど、設定を良く見たらSDIにチェックが入っているせいだった。チェック外してみたところ、コマンドラインでも普通にタブが開いた。
Info
- 投稿日
- 2007年1月10日
- タグ
- ahk、opera
- このエントリの固定リンク
- http://diary/log/1502.html
- ブックマークに追加する
-
- コメント
2007
0110
Tagsahkopera
FirefoxとOperaには、通常のオプションでは設定できない細かい設定を行う為の措置が施されていて、Firefoxならabout: config、Operaならopera:configとアドレス欄に入れて移動するだけで、簡易的だが各種設定を行うことができる。
設定できるといっても、名前から判断できない項目がズラっと羅列されるだけで、設定したい対象を予め調べなければいけないので手間がかかってしまう。
Operaの場合、Opera6.ini の設定 なんてページが用意されているので、ある程度は内容を把握することができる。が、それでもタブを2つ並べて両方見比べるといったことが必要になるので面倒には変わらない。(余談だが、.comの方はちゃんとopera:configの該当項目へのリンクが張ってあるのでいくらかマシだったりする。)
Operaが流行らない理由の一つである、できることが多すぎて思考停止する理由の一つが、このopera:configの無愛想っぷりだと前々から判断していたので、この状況を打開すべくopera:configを拡張することにした。
スクリーンショット
何をしているのかというと、各項目に上記iniのページから説明文を持ってきて、埋まっていない部分を独自の解釈と感と気合で埋めて、それぞれを入力欄のそばに表示するようにしている。
これの使い方は、以下のボタンをツールバーに登録して、opera:configを開いた時にポチッっと押す。これだけ。opera6.iniのバックアップは取るように。絶対に。
Opera用ボタン : [OperaConfig+]
とりあえず動いている状態なので、細かい作りこみは徐々に行う予定。
- ビットフィールドをチェックボックスに
- カラーコードをカラーテーブルから設定
- フォント及びカラーをプレビューしながら設定
- 設定項目の再構成
- 空白部分は上記ページの更新待ち
- 一部項目が正しく保存されてないっぽい?
- iniを直接弄るしかなかった項目も設定できるように
こなかじ。ああ、デフォルトに戻すボタンもつけてないな。忘れてただけだが。
あと、せっかくなんで、Opera6.ini の設定を.com仕様するユーザースクリプトも作っておいた。日本語じゃないと死んでしまう人は活用するといいだろう。
jpopera6ini.user.js
使用上の注意
このボタンはうちのサーバーに置いているファイルにアクセスしているわけだが、できるだけダウンロードして中身を確認した上で、自分のサーバーに置いて使うことを薦めておく。
operaconfigplus.js
急にファイルを消すかわからんし。使う場所がopera:configなだけに、いつjavascriptの暗黒面に落ちてアレゲなスクリプトを仕込むかもわからんし。
あと、このスクリプトを使って何か起きたとしても責任を取るつもりは一切無いのでよろしく(いつもだけど)。
関係無いけど
ツールバーのカオスっぷりが酷い。
Info
- 投稿日
- 2006年12月9日
- タグ
- opera
- このエントリの固定リンク
- http://diary/log/1488.html
- ブックマークに追加する
-
- コメント
2006
1209
Tagsopera
;UserJSディレクトリ(最後のバックスラッシュを除く)
ScriptDir = C:\Opera\profile\script
URL = %1%
FileName := RegExReplace( URL, ".*/", "" )
IfExist, %ScriptDir%, IfInString, FileName, .js
URLDownloadToFile, %URL%, %ScriptDir%\%FileName%
スクリプトの内容はこれだけ。後はExecute Programから%lの引数付きで渡すだけでUserJSをインストールすることができる。
引数からダウンロードディレクトリを指定してもよかったが、半角空白が混じっていると厄介なので、あえてスクリプト側に記述するようにした。
UserJSに限らず、ただ単にファイルをダウンロードしているだけなので、分岐してやれば拡張子ごとに保存フォルダを変えるなんてことも可能。
installjs.ahk
Info
- 投稿日
- 2006年11月22日
- タグ
- ahk、opera、userjs
- このエントリの固定リンク
- http://diary/log/1485.html
- ブックマークに追加する
-
- コメント
2006
1122
Tagsahkoperauserjs