Home / Diary / タグ: opera
FirefoxにはStylishというユーザースタイルシートの管理を容易にする拡張が存在する。
これを活用すると、全てのWebサイトを自分好みに調整できるようになる。使ったことがある人にしかわからないが、あまりにも便利すぎて笑いが止まらない。
さらに、StylishとFirebugを組み合わせると、レジェンダリーな構造のWebサイトでさえも5分で裸にひん剥けるので重宝している。
んが、これはあくまでもFirefox用。stylishはどうしようもないが、CSSだけでもOperaで使えるようにできないだろうか。
・・・じゃあ、移植しちまおう。まるっと。
というわけで、stylishで管理しているCSSをOpera用に書き出すスクリプトを試しに作成した。
opelish.ahk
作成した・・・のはいいんだが、問題が。
stylishはCSSをrdfにまとめて保存しているので、そこからurlとcssを地味に抜き出して書き出す。
FirefoxはどのページにCSSを適用させるかを、ドメイン、URL完全マッチ、URL部分マッチの3タイプで選べるが、Operaの場合、ユーザーCSSはドメインまでしか指定できない。
だからといってユーザースクリプトとして書き出すと、確かに好きなページに適用させることが可能になるが、適用されるまでにタイムラグが発生するだけでなく、ページのスクリプトを無効にしているとそもそも動作すらしない。
常にスクリプトをONにしているのなら、あまり問題では無いんだが、常にOFFにしている身としては辛い。
これ以上を望むとなるとproxomitron等と連携する必要がでてくる。できればOpera内で解決したいんだが・・・どうすんべ。
なお、このスクリプトは、とりあえずでっちあげただけの試作品なので、rdfのパースがいけてなかったり、Firefoxでしか適用されないプロパティを放置するなどといった不具合というか手抜きが存在する。登録しているCSS次第では出力すらできない可能性があるので注意してもらいたい。
Info
- 投稿日
- 2007年5月16日
- タグ
- ahk、css、opera
- このエントリの固定リンク
- http://diary/log/1534.html
- ブックマークに追加する
-
- コメント
2007
0516
Tagsahkcssopera
全画面表示
F11 ⇒ Ctrl押しながら+(プラスキー)
1280×1024ならさらにプラスキーを4回ほど押せばフルに。拡大を元に戻したかったら*(アスタリスクキー)一発。
後はスクロール位置調整して完了。視聴補助スクリプトを入れればスクロールの必要すら無くなる。
ユーザースクリプトの日本語
ニコニコ動画のページは全てUTF-8。んで、適当なページにUTF-8のユーザースクリプトから日本語のテキストを含む要素を挿入すると化ける。
思わずポルナレフになってしまいそうなぐらいに謎な現象にぶち当たっているんだが、何これ?
パネル内でユーザースクリプト
こんなん自分用に作って運用中。

なのはいいんだが、パネル内で表示したページってユーザースクリプト動かないのな。初めて知ったわ。ってゆーか参った。パネル内で動かす気満々で作ってたのに。
仕方ないから切り離してる。
Info
- 投稿日
- 2007年5月13日
- タグ
- opera
- このエントリの固定リンク
- http://diary/log/1533.html
- ブックマークに追加する
-
- コメント
2007
0513
Tagsopera
幅と高さを指定した要素の子要素の中にabsoluteを指定した要素があると、幅と高さを指定した要素の内部の高さが、さらに親要素に反映されてしまう。
・・・微妙に日本語が変だな。
要素要素うざいので百聞は一見にしかず。つーわけで実物を用意した。
Opera position:absolute バグ?
赤いボックスの中に定義リストが含まれている。定義リストの子要素っつーかdd全てにheight:100px;
んで、そのdd群の中にひとつだけabsoluteなspanを含んでいるddがある。
赤と青のボックスにはwidthとheightが指定され、はみ出した要素は自動的に処理するようにoverflow:autoが指定されているのだが、それを無視するかのようにボックスの要素内の高さが親要素に伝わってしまい、bodyにスクロールバーが表示されているのがわかるだろうか。
なお、ddの右端にabsoluteで表示したいので、当然ddにはrelativeがついている。
bodyっつーか親要素にoverflow:hiddenで解決でね? と思いがちだが、ホイール回せばしっかりスクロールするんでダメ。
一応、Firefoxでは問題無し。IEも天然なので問題な・・・ってIE7、おまえもか。
んー、どうしようこれ。他の方法でも一応なんとかはなるんだが・・・めんどいな。
Info
- 投稿日
- 2007年5月10日
- タグ
- opera
- このエントリの固定リンク
- http://diary/log/1531.html
- ブックマークに追加する
-
- コメント
2007
0510
Tagsopera
かもわからんね。
フレキシブルに拡大
+を押すだけで10%ずつページを拡大。もちろん動画部分も。watch_naisho? 何それ?
タブの切り離し
デスクトップの端に表示させたい場合に便利。別の動画を見たかったらアドレスコピーしてCtrl+B。これだけ。
オペレータキャッシュ
オペレータキャッシュ、Operaのドキュメント内では恒久的なキャッシュという説明が付いているように、設定されたサイズ内であれば削除されることなく保持されるキャッシュのことである。
デフォルトではヘルプページ等が設定されているだけなのだが、これをニコニコ動画のファイルサーバーに割り当てる。するとサイズ制限の許す限りflvファイルを削除されることもなくどんどん溜め込むことが可能となる。
flvファイルがキャッシュされていれば、再度ページを開いても動画をサーバーから読み込まなくなるので、メッセージの受信だけで完了する。無駄な帯域を使うことなく、いきなりシーク可能というわけだ。
オペレータキャッシュとしてキャッシュされると、通常は更新ボタンを押したりしない限り二度とキャッシュは更新されない。だが、ニコニコ動画の仕様では一度アップロードした動画の編集・変更は不可能なので、全く問題は無い。むしろ好都合だ。
オペレータキャッシュの設定方法
OEM | Never Flush Trusted Servers
キャッシュするサーバーをセミコロン区切りで入力する。
ニコニコ動画のファイルサーバーは
- s-usn(number).smilevideo.jp
- s-clb(number).smilevideo.jp
- s-skr(number).smilevideo.jp
- nicovideo.visionmovie.ameba.jp
numberは少しずつ増えてる模様。今のところは下記のように30まで設定しているがキャッシュ漏れは無し。
help.opera.com;sitecheck.opera.com;nicovideo.visionmovie.ameba.jp;s-usn1.smilevideo.jp;s-usn2.smilevideo.jp;s-usn3.smilevideo.jp;s-usn4.smilevideo.jp;s-usn5.smilevideo.jp;s-usn6.smilevideo.jp;s-usn7.smilevideo.jp;s-usn8.smilevideo.jp;s-usn9.smilevideo.jp;s-usn10.smilevideo.jp;s-usn11.smilevideo.jp;s-usn12.smilevideo.jp;s-usn13.smilevideo.jp;s-usn14.smilevideo.jp;s-usn15.smilevideo.jp;s-usn16.smilevideo.jp;s-usn17.smilevideo.jp;s-usn18.smilevideo.jp;s-usn19.smilevideo.jp;s-usn20.smilevideo.jp;s-usn21.smilevideo.jp;s-usn22.smilevideo.jp;s-usn23.smilevideo.jp;s-usn24.smilevideo.jp;s-usn25.smilevideo.jp;s-usn26.smilevideo.jp;s-usn27.smilevideo.jp;s-usn28.smilevideo.jp;s-usn29.smilevideo.jp;s-usn30.smilevideo.jp;s-clb1.smilevideo.jp;s-clb2.smilevideo.jp;s-clb3.smilevideo.jp;s-clb4.smilevideo.jp;s-clb5.smilevideo.jp;s-clb6.smilevideo.jp;s-clb7.smilevideo.jp;s-clb8.smilevideo.jp;s-clb9.smilevideo.jp;s-clb10.smilevideo.jp;s-clb11.smilevideo.jp;s-clb12.smilevideo.jp;s-clb13.smilevideo.jp;s-clb14.smilevideo.jp;s-clb15.smilevideo.jp;s-clb16.smilevideo.jp;s-clb17.smilevideo.jp;s-clb18.smilevideo.jp;s-clb19.smilevideo.jp;s-clb20.smilevideo.jp;s-clb21.smilevideo.jp;s-clb22.smilevideo.jp;s-clb23.smilevideo.jp;s-clb24.smilevideo.jp;s-clb25.smilevideo.jp;s-clb26.smilevideo.jp;s-clb27.smilevideo.jp;s-clb28.smilevideo.jp;s-clb29.smilevideo.jp;s-clb30.smilevideo.jp;s-skr1.smilevideo.jp;s-skr2.smilevideo.jp;s-skr3.smilevideo.jp;s-skr4.smilevideo.jp;s-skr5.smilevideo.jp;s-skr6.smilevideo.jp;s-skr7.smilevideo.jp;s-skr8.smilevideo.jp;s-skr9.smilevideo.jp;s-skr10.smilevideo.jp;s-skr11.smilevideo.jp;s-skr12.smilevideo.jp;s-skr13.smilevideo.jp;s-skr14.smilevideo.jp;s-skr15.smilevideo.jp;s-skr16.smilevideo.jp;s-skr17.smilevideo.jp;s-skr18.smilevideo.jp;s-skr19.smilevideo.jp;s-skr20.smilevideo.jp;s-skr21.smilevideo.jp;s-skr22.smilevideo.jp;s-skr23.smilevideo.jp;s-skr24.smilevideo.jp;s-skr25.smilevideo.jp;s-skr26.smilevideo.jp;s-skr27.smilevideo.jp;s-skr28.smilevideo.jp;s-skr29.smilevideo.jp;s-skr30.smilevideo.jp
OEM | Operator Cache Size
キャッシュの最大値をkb単位で指定する。最大値は999999KB。約1GBとなる。
Disk Cache | Size
オペレータキャッシュのサーバーとサイズを設定しただけでは効果は現れない。
ディスクキャッシュ全体の最大値も同様に設定しなければ、オペレータキャッシュのサイズは無効になってしまうからだ。こちらも最大値は999999。
キャッシュサイズの設定は他ブラウザでもできる?
できる。確かにできるが、IE及びFirefoxはキャッシュのサイズのみ設定が可能。
Operaはドキュメント・画像・その他の3種類について、サイズから更新間隔、メモリ使用の有無まで細かく設定できる。
Firefoxならばキャッシュサイズを際限無く設定できるかもしれない。が、それは動画だけでなく通常のWebサイトのコンテンツをも大量にキャッシングしてしまうことになる。それではパフォーマンスの低下を招きかねない。
しかしOperaなら、オペレータを1GB、ドキュメント・画像を20MBまで、といったように設定することができるのだ。
この、キャッシュの細かい扱いがOperaの強みだと最近分かってきた。
問題点
キャッシュサイズ制限が1GB。あまりにも少ない。
当初、この設定に気づいて100Gぐらい当てておけば当分安泰じゃね? とか思って10000000を設定したら999999に丸められてズっこけた。2日で埋まってしまうではないか。
というわけで、削除対処の緊急サルベージに微妙に使えたり使えなかったり。
完全にバックアップしたいのならディレクトリを監視してflvをひたすらコピーするしかないだろう。
もしくは、Operaを終了させない限りはどんどんキャッシュできるようなので、休止状態を駆使するのも一つの手かもしれない。
注意
キャッシュの動作を完璧に把握しているわけではないので、この文章には多少の間違いがあるかもしれない。
Info
- 投稿日
- 2007年4月29日
- タグ
- nicovideo、opera
- このエントリの固定リンク
- http://diary/log/1529.html
- ブックマークに追加する
-
- コメント
2007
0429
Tagsnicovideoopera
当初はOperaのWidgetで作ろうと画策したが、妙な対策がなされてて失敗。仕方ないからユーザースクリプトでそれっぽいものをでっち上げた。
スクリーンショット
nico2windower.js
事前にニコニコ動画のページの適当なところで「右クリック>サイト設定の編集>スクリプトタブ>ウインドウのサイズ変更を許可する」にチェックを入れておくこと。
解説
このスクリプトを導入すると、ニコニコ動画内で動画ページへのリンクをクリックした場合、ページ内に新しいウインドウとして表示するようになる。
その後、新しいウインドウのタブを切り離すことによって、上のスクリーンショットのようにデスクトップの端に置いておくことができるようになる。
では、いちいちウインドウを切り離すのか?
それを回避するためにウインドウを共有するようにしている。切り離したウインドウが存在する状態で他の動画へのリンクをクリックすると、そのウインドウで新しく開いてくれるのだ。実際に触ってみてもらえば分かるが、これが実に快適。
そして、時にはもう一つウインドウを立ち上げたくなる場合もあるので、テキストリンクはウインドウ共有、画像リンクは常に新規立ち上げ、というようにした。
ウインドウの切り離し方
ウインドウがページ内に表示されても、その分のタブはしっかり一番右に出ているはずなので、そのタブを真上にドラッグすると切り離すことができる。
Operaに慣れている人はジェスチャーなりショートカットキーにDetach pageを設定するといいだろう。
注意
通常のタブで開きたくなった場合は、左クリック以外の方法、右クリックからやリンク事態をタブバーに持っていって開いて欲しい。
また、CSSに修正を加えているため、動画ページではFlash部分が一番上に配置されるようになってしまっている。
Info
- 投稿日
- 2007年4月14日
- タグ
- nicovideo、opera、userjs
- このエントリの固定リンク
- http://diary/log/1528.html
- ブックマークに追加する
-
- コメント
2007
0414
Tagsnicovideooperauserjs
ニュルっとするのです。Operaだと。
キーボードで操作してると気にならないけど、稀にホイールで回した時にニュルっとされると微妙にムカつくので、ついに直すことにした。
原因は高さの計算にスクロールバーが含まれていないこと。そしてoverflowにscrollが指定されていること。
Operaはoverflow-xとoverflow-yに非対応(というかIE専用だし)なので、スクロールバーは否応なしに両方表示されてしまう。それを回避したいならoverflowにautoを指定すればよい。
んが、横幅の計算でborderを考慮していないようなので、はみ出してしまった要素の分スクロールバーが出ているようだ。そこで、borderの分マイナスしてやることによってようやく収まった。
ldrfixvscroll.user.js
サイドバー固定だから、ネガティブマージンで組んでいればCSSで対処できたと思うんだが、さすがにスクリプトで幅指定されるとどうしようもないわ。
ここまで作っておいてなんだが、LDRでニュルニュルするという話を他所で聞いたことが無いんだけど、もしかして俺だけ?
Info
- 投稿日
- 2007年4月13日
- タグ
- opera、userjs
- このエントリの固定リンク
- http://diary/log/1527.html
- ブックマークに追加する
-
- コメント
2007
0413
Tagsoperauserjs