Home / Diary / タグ: opera

1...45678

目次

  1. AutoHotKeyでOperaにCopyURL+
  2. Operaのスペースキーの動作が素晴らしい
  3. Opera備忘録
  4. OperaでCopyURL+
  5. Code Snippetsを見やすくするGreasemonkeyスクリプト
  6. ニンテンドーDSブラウザでAjax

AutoHotKeyでOperaにCopyURL+

やってることはopera_exや前のWSHと同様。コマンドライン引数から色々コピーさせている。

前のWSH版は1ファイルで完結していたが、クリップボードに入れる動作が重かった上にキャッシュからタイトルを取得していたのでCPUパワーが有り余っていないと使用するのがキツかった。

その点、AutoHotKeyならプログラム自体がクリップボードを操作できるし、アクティブウインドウのタイトルも取得できるので、opera_ex以上のことを1ファイルで実現することができる。・・・AutoHotKeyを常用している人の場合は、だが。

とりあえず標準でこれだけ搭載。

AutoHotKeyのスクリプトはテキストベースなんで、容易に拡張できるのがポイント。opera_exのように別途テキストファイルを用意する必要も無い。

さらに、Operaから離れるが、このスクリプトはオプション無しで文字を渡すだけで、その文字をクリップボードに入れるようにしているので、WSH等からも利用できるようにしている。

例えばディレクトリ内のファイル一覧をクリップボードに入れたい時なんかは、今までだと裏でIEを起動していたのだが、こっちならコマンドラインから呼び出して終わりなので、圧倒的に処理が早い。

clipboard.ahk

スクリプト内にOperaのmenu.iniに登録する際のサンプルを載せているので、導入する方は参考にして欲しい。スクリプトの改造はAutoHotkeyを流行らせるページを参考にするといいだろう。

Info

SBM Comments

kyorecoba
本当にCopyURL になってしまいます。
kyorecoba
本当にCopyURL+になってしまいます。

2006
1121

Tagsahkopera

Operaのスペースキーの動作が素晴らしい

God of War(ゴッド・オブ・ウォー)

うちのエントリだけど、まずこれを開く。一番下までスクロールした後にスペースキーを押すと、次のエントリに移動する。

はてなダイアリーならどこでもいいので、トップページ以外のところを開いて、やはりページ最下部でスペースキーを押すと、次のページへ移動する。

何をしているかというと、head内で次の文書が指定されているならその文書へ、そうでないなら、恐らくページ下部付近にある、いかにも次のページっぽいリンク先へ移動するようになっている(はず)。

最初の例だと、URLは1459.htmlで、次のエントリは1461.htmlなので、URLを見て単純に数字を足しているというわけではないようだ。

Firefoxだったら、わざわざアドオン入れてそーいった類のリンクを表示したり、アクセスキーがあるなら、キーを押すことでエントリの移動を行えるけど、Operaならそーいった事を全く気にせずに、スペースキーで読みながら、そのままの操作で自然と次のページへ移動することができる。ページがheadによるナビゲーションに対応していようがいまいが関係無く。

通常はスクロール。最下部に来ると意味が無いからそのままページ移動にしてしまえ、と。

なんという素晴らしいインターフェース。心洗われました。

補足

前後ページへのリンクすら存在しない、もしくはSUN値が足りないと見られないソースだったりすると、関係ないリンクを表示するなどして暴走するっぽい。

大抵のブログ及びブログツールなら対応していると思われるので、そこら辺は微妙に安心して使える。サイドバーが親の敵のように成長していなければ、だが。

追記

  1. リンク属性で指定された「次のサイト」を持つ
  2. リンクになっている文字列が登録されているものと同一のリンクがある
  3. 認証のページでWand機能にユーザ名とパスワードを登録してある
  4. 画像ファイルへのリンクがある

Opera解説編 2-10(FastForward & ReWind)

スペースキーの動作=FastForward、でもってこのような優先順位で動作するらしい。

4番の画像ファイルが気になったので試してみたが、ページ内に画像が複数ある場合、スペース連打で次々と画像を読み込んで表示してくれる。それはもう笑っちゃうくらい快適に。

・・・はっ! つまりこーゆーことか!

Operaはアダr

Info

SBM Comments

814
onozaty.test
次ページ、←オートページャー、←巻き戻し/早送り、←Rewind/Fastforward Buttons
miya2000
コレって前から有る早送りの機能だよね。今更感があるんだけど。それをスペースキーに割り振ったのが素晴らしいということかな?
moriya_55
Operaはアダr
trickstar_os
マウスジェスチャの進むでもイケル/検索画面で重宝
brazil
rtk2106
最下部到達後にスペースキーで次のエントリに移動。次エントリの推測
kusigahama
あとで / http://piro.sakura.ne.jp/xul/_rewindforward.html
kyu
nirvash
便利っぽい。暴走しなければ。
mosshm
ページ最下部でspaceを押すとFast Forwardと同様の動作。

2006
1030

Tagsopera

Opera備忘録

ページの更新/中止ボタン

読み込みを中止しているのにさらに中止するわけがなく、更新中に更新したい時などは稀。ならばいっそのこと一緒にしてしまえ、と。これに限らず、自由にトグルボタンを作成できるのは素晴らしい。

ユーザーCSS

「@-moz-document domain」とかの絞込みが不可能なので、サイトというかドメイン毎に設定する必要がある。

これがめんどいので、ユーザースクリプトでドメイン名をbodyあたりにidで付加して、body#domainみたいな感じでCSSを書くのがよろしいのかな?

Operaは画像に弱い?

RSSリーダーでEngadgetあたりを200エントリ開くと、それなりに大きな画像を全て読み込もうとしてCPU使用率がうなぎのぼり。かなりでかい画像はひとつだけでもOperaキラーに。

とにかく画像に弱そうな気配を感じたので、常に画像をOFFにすることにした。あと、メモリキャッシュも多めに。

画像のON/OFF

Firefoxのimageprefでもそうなんだけどさ、img要素だけに適用とかできんのかね。background画像まで持っていかれるとサイトによってはひどいことになる。

あと、非表示にした画像でもサイズ指定されてたらそのサイズで枠を表示して欲しいとか思うわけですよ。widthとか無視してaltテキスト飛び出すのは勘弁してくれ。

JavaScriptのON/OFF

ブックマークレットぐらいは見逃してくれてもいいと思う。ここらへんは細かく設定できるNoScriptのほうが優秀だな。

https

証明書の確認ダイアログが出るのはいいが、セガダイレクトのカゴに入れた後のページで画像がhttps指定されているというトンデモHTMLで構成されており、証明書の確認ダイアログがブラクラの如く出現するので「以降全てを許可/無視」みたいなのが欲しい。

っていうかhttps以前に画像を絶対URLで指定するなとあれほど・・・

Widget

デフォルト動作のD&Dがキャンセルできないっぽい? すげー困ってるんだけど。とりあえずinput要素で対処。

あと、setPreferenceForKeyで設定した値って削除できない? 延々と蓄積されて困るんだが。

ポップアップのブロック

アニメーションやめれ。タブを50個ぐらい開こうとしたとき死ぬかと思った。

ユーザーエージェント

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ja) Opera 9.02

最後が余計。・・・これってバイナリ弄ると直せるのかしらん?

Google Docs & Spreadsheets

youtube寝取るのもいいけど、こっちもサポートしてくれ。

Info

2006
1017

Tagsopera

OperaでCopyURL+

Operaはiniファイルを弄ることで、右クリックメニューをカスタマイズすることができ、用意されたアクションを記述することでクリップボードを操作することもできる。

が、現在のページのURLだけとか、選択テキストだけとか、画像のURLだけ、といった風にコピーできるものが限定されてしまっているので、タイトル+改行+URLなんて取得は不可能。

使えねー! Opera超使えねー!

そこでopera_exを使うことで、かなり自由なスタイルでURLやらタイトルやらをクリップボードに入れられるわけだが・・・

opera_ex使ったら負けかなと思ってる

なんかねー使いづらいのよねー。テキストファイル用意しなきゃいかんし、ちょっと凝った加工もできないしー。

というわけで、opera_exに頼らずにクリップボードを操作する方法を模索した。

実験1 iframe+flash

右クリックメニューのアクションにjavascriptも記述できるので、iframe生成しつつローカルに保存したsetClipboard.swf仕込み済みHTMLを、取得したい情報をハッシュにまとめつつ開けばいけね?

結果
セキュリティに引っ掛かるので無理。(やる前からわかってたけど)

実験2 新規タブ+flash

openで新規タブにHTML+ハッシュなローカルHTMLを開いてクリップボードに入れつつ即座にclose。

結果
実験1と同じ理由で無理竜

実験3 WindowsScriptingHostに渡す

渡した先ならIEを操作できるので、クリップボードが使える。これだ!

結果
そもそもOperaからページタイトルが渡せません。本当にありがとうございました。

あー、opera_exってWinAPI使ってタイトルの文字列取ってるんだな。WSHは無理じゃん。

ざんねん! わたしのちょうせんは これでおわtt

%s - ローカルキャッシュのファイル名(フルパス)

Opera7 All Action in Japanese

それだぁぁぁぁぁ!

実験4 WindowsScriptingHostにもっと渡す

URLと一緒にキャッシュのパスも渡し、タイトルはキャッシュのHTMLからtitle部分を抜き出す。

結果
成功

まさかキャッシュのパスを渡せたなんてねぇ。まさに神の御業だ ブッたまげたがよォォォ・・・

しかもWSHなんで1ファイルで完結しながらJavaScriptやVBやRubyも使えるのでテキストの加工が容易。選択テキストをblockquoteしつつciteにURLとかも可能。

ただ、欠点が。

ひとつは、一瞬、スペック次第では1秒程Operaのフォーカスが離れるてしまう。裏でIEを呼び出しているからなんだが、まあ、これぐらいは。

次が問題で、文字エンコードをADODBに丸投げしていること。ぶっちゃけると、ページ次第ではタイトルに含まれる2バイト文字が化ける。となると自前で文字コードを判別すりゃいいわけだが、ものすごく手間がかかる。

あー、まあ英語圏で使うなら問題無いんでこれでいいや。化けたらソースを表示して自前で取るってことで。

operacopyurl.wsf

Info

SBM Comments

Kuruma
%sでcacheファイルのパスを投げさせれば良い
nektixe
なんだか、はるか昔に似たようなことをした気がする>http://a-h.parfe.jp/einfach/archives/2003/1218200010.html

2006
0906

Tagsopera

Code Snippetsを見やすくするGreasemonkeyスクリプト

Code Snippetsとはプログラムコードの断片を共有 するサイト。激しく使えるものから使い道に頭を悩めるようなものまで幅広く投稿されてるので暇を見て眺めていたわけだが、このサイトが思いのほか使い辛い。

何が使い辛いってコードが初期状態で展開されてるから、50行近くもあるコードがあると、ページがエラい高さになる。

というわけで、いっちょGreasemonkeyで見やすくしてみようじゃあないか、と思って作ったのがこれ。

codesnippets.user.js

何気にOperaにも対応。コードタイトル右端に展開用のボタンを表示。デフォルトは全部閉じた状態。展開した状態でダブルクリックすると閉じる。折角なんでサイドバーも閉じた。これで大分見やすくなったー。

微妙に手抜きっぷりが見え隠れしているのは、近い将来もっと見やすい形にサイト側が対応するだろうという見通しのものであり、決してめんどくさかった訳ではない。いやマジで。

本当はSleipnirのSeaHorseにも対応させようとしたんだけど

user.js設置する(alert仕込む)

Sleipnir起動

ページ開く

alert出る

user.js弄る(alert消す)

リロード

alert出る

user.js削除する

リロード

alert出る

どうみてもメモリに読み込んでます。本当にありがとうございました。

つーことは、SeaHorse用に作る場合はブックマークレットかSleipnirスクリプトとして作成してから移植するしかないのか。超めんどー。・・・あー、今回はご縁が無かったということで。

んで、コード共有サイトなんだからボタン一発でクリップボードに入れられるようにしたいよな。というわけでflashファイルを利用してクリップボードへコピーしてくれるボタンを生成してくれるようにもしてある。

なんでdataスキームじゃないかというと、どうやらFlashPlayer9になってセキュリティ周りに変更が出たらしく、最小構成のHTMLにembedでdataスキームのsetClipboard.swfを指定したやつを開いても反応しなくなったのよ。というわけでエロい人解決法求む。

ファイル自体はこっちね。OperaかFirefoxを使って、右クリックメニューから保存。適当なURLで繋がる場所にアップロードしたら、スクリプトを開いて「var flashURL」部分にURLを入力すれば機能するようになる。

setClipboard.swf

Info

SBM Comments

onozaty.test
Greasemonkey、user.js、スニペット、embed、クリップボード、swf、Flash 9、dataスキーム失敗、→調査/重要
brazil
AUSGANGSOFT
そんなことになっとったとは・・・。

2006
0826

Tagsfirefoxoperauserjs

ニンテンドーDSブラウザでAjax

っぽいことをする。

XMLHttpRequestがダメなだけで、iframeを使ってテキスト取得とかは可能。俗に言うIFRAMEHTTPRequest。もしくはHTTP.Push?

var iframe = document.createElement( "iframe" );
iframe.src = <ローカルファイル>;
iframe.onload = function( ) {
//読み込み完了時の動作
}
document.body.appendChild( iframe );

最小構成だとこなかじ。当然のことながら呼び出すコンテンツは同じドメインのものでないと、内部にアクセスした途端にエラーが返ってくる。

んで、XMLHttpRequestではないので色々と制限を受ける。

HTMLを読み込んだ時は、画像やらスクリプトやら諸々全てが完全に読み込まれてから初めてonloadが発生したり、POSTで取得できなかったり。(がんばればできるという話を聞いたが)

textやscriptを読むときは注意が必要。内部でpre要素に入れられつつ、[<>"&]が文字参照に変換されてしまっているので元に戻す必要がある。

var doc = <iframeオブジェクト>.contentWindow.document;
if( doc.doctype == null ) { //nullだとhtmlではない・・・らしい
    alert( doc.body.innerHTML
    .replace( /^<pre>|<\/pre>$/i, "" )
    .replace( /&quot;/g, "\"" )
    .replace( /&lt;/g, "<" )
    .replace( /&gt;/g, ">" )
    .replace( /&amp;/g, "&" )
    );
}
else {
    alert( doc.body.innerHTML );
}

外部のコンテンツはとりあえず取得できる。が、したらしたで今度は貧弱なDSの側で色々しなきゃいかん場合もあるので、ある程度はサーバーサイドと相談するのがいいかもしれん。

補足。試しにGoogleのHTMLソースを取得してalertさせたら、画面暗転してから(この時点で既に読み込みは完了してる)ソース表示まで10秒近くかかった。・・・そこまで負荷がかかるのか。(というか描画全般に弱いのかな?)

Info

2006
0801

Tagsgamejavascriptopera

暴満館

最新のエントリ
注目のエントリ(はてな)
ゲーム攻略

暴満館 ~The House of Full Violence~
Powered by WordPress.
About | Contact | 新着のエントリ情報 RSS

ページ内の見出し一覧
AutoHotKeyでOperaにCopyURL+
Operaのスペースキーの動作が素晴らしい
Opera備忘録
OperaでCopyURL+
Code Snippetsを見やすくするGreasemonkeyスクリプト
ニンテンドーDSブラウザでAjax