Home / Diary / タグ: opera

12345...6

目次

  1. OperaUserScriptManager v0.20
  2. Ruby製ニコニコ動画用ダウンローダー for Operaとか
  3. Operaのユーザースクリプトを管理するツールをVisualuRubyで作った
  4. ニコニコ動画の動画ファイルとコメントをダウンロードするRubyスクリプト for Operaとか
  5. oAutoPagerize.jsのSITEINFOを更新するスクリプト
  6. 続・ニコニコ動画視聴補助スクリプト for Opera
  7. Operaでユーザースクリプトのみを有効にする(Ultimate blockage/Noscriptlike編)
  8. Operaでユーザースクリプトのみを有効にする(Disable script編)
  9. StylishのCSSをOperaでも使えるようにする (Proxomitron版)
  10. 怒本格最速ブラウザが完全進化「Opera 9.5 Alpha 1」

OperaUserScriptManager v0.20

userjsmanager.zip

アップデート機能

スクリプトのURLを設定すると、サーバーのファイルと更新時間を比較して、ローカルが古いようならダウンロードしてくれる。

今のところLast-Modifiedしか見てないので、これを吐いていないサーバーのスクリプトは一切アップデートできないことになる。次あたりで対策するつもり。

コマンドラインオプション対応

いちいち起動してウインドウ表示してられないので。-uで更新確認⇒ダウンロードまで一気に。

また、-dに続いてスクリプトのURLを渡すとダウンロードしてフォルダに格納してくれるようにした。

レイアウト変更

GreaseMonkeyの猿真似を止めて、もちっと使いやすい形に。

注意

まだまだ不安定なので、スクリプトを操作する場合は予めバックアップを取ってほしい。

Info

2008
0115

Tagsoperarubyuserjs

Ruby製ニコニコ動画用ダウンローダー for Operaとか

地味に更新。

nicovideo_download.zip

変更点

本当はダウンロードしている動画をOperaのキャッシュから探して無駄なダウンロードを省くようにするつもりだったが、土壇場でバグが見つかったので見送り。

nicovideo_download.rb(ソース)

Info

2007
1225

Tagsoperaruby

Operaのユーザースクリプトを管理するツールをVisualuRubyで作った

RubyでGUIが作れるというので勉強も兼ねてVisualuRubyに挑戦。

userjsmanager.zip
2007/12/20:エディタが正確に開けない不具合が早速出たので修正。

userjsmanager.exeを実行すると、GreaseMonkeyほぼまんまの管理画面が現れるので、そちらを弄ったことがあるなら操作上迷うことは無いだろう。詳しくは同梱のテキストを参照。

VisualuRubyの利点

VisualuRubyの不満点

開発途中だから仕方が無いか。一応気合でなんとかなる。

コントロールの配置については、Formdesignerを使えばある程度は解消するが、配置したコントロールをクリックすると大きさが変わってしまったり、出力するとウインドウスタイルが全部整数になってしまうので、若干手直しが必要になる。

原因不明というか、結局分からなかったもの

やりたいこと

雑感

簡単にGUIが書けるのは確かだが、結局はWindowsのコントロールを使うので、構築上ある程度の縛りは受ける。

それはいいんだが、現時点ではWindowsAPIの資料を漁るのが必須なのが正直めどい。そこまで凝ったGUIを作れなくてもいいので、Rubyの知識だけで書ける様になるのが一番の理想か。

余談

exerbのguiモードでコンパイルしたらAVGが反応したので思わず吹いた。久々にAVGのダイアログ見たわ。

cuiにしたら反応しなくなったので良かったが。ってか、コードのどこに反応したんだ?

Info

SBM Comments

as365n2
_[skin]

2007
1219

Tagsoperarubyuserjs

ニコニコ動画の動画ファイルとコメントをダウンロードするRubyスクリプト for Operaとか

実行ファイル形式になっているので、Rubyがインストールされていなくても使うことができる。

nicovideo_download.zip

[Document Popup Menu]
...
Item, "動画とコメントをダウンロード" = Execute program, "C:\nicovideo_download.exe", "%u C:\download -v -c"
Item, "動画をダウンロード"           = Execute program, "C:\nicovideo_download.exe", "%u C:\download -v"
Item, "コメントをダウンロード"       = Execute program, "C:\nicovideo_download.exe", "%u C:\download -c"

こんな感じで使用しているmenu用設定ファイルに追加すれば、右クリックから開いているページの動画とコメントをダウンロード。動画タイトルと動画IDの名前で保存される。12月9日時点の新コメントサーバー仕様及びマイメモリーにも対応。

この手のツールは探せば他にも大量に見つかるが、「プレイヤー等が絡まないシンプルな構成」「実行ファイル」「修正が容易なもの」。ということで、Rubyの勉強がてら、余所様のコードをパク・・・もとい、参考にして作った。

なお、コマンドプロンプトで色々渡してるだけなので、Opera以外からでも当然使える。

使い方の詳細等はソースを参照してほしい。

nicovideo_download.rb

参考

余談1 どうやって動画タイトルを取得するか

Operaのアクションからはウインドウタイトルはどうやっても取得できない。そこで、常套手段であるAutoHotKey経由でスクリプトを動かそうとしたが、なぜか動かない。

Run, C:\nicovideo_downoad.rb http://www.nicovideo.jp/watch/sm****** C:\download -v -c, C:\, Min

通常ならこれで動くはずだが、なぜかファイルが存在しません、との警告。

どうやらAutoHotKeyはexeやbat以外のものにコマンドラインオプションを指定しても、コマンドラインオプションとして認識してくれず、全て連結したファイル名を探そうとするようだ。

仕方ないので、実行ファイルと同じディレクトリにbatを作った。「Opera⇒ahk⇒bat⇒rb」という過程を得てようやくタイトル取得に成功。

余談2 ぐぐってみる

RubyからWin32API使えるんだから、ウインドウ一覧ぐらい取得できるのでは?

ruby 覚え書き - 現在開いてるウィンドウを調べる

あった。無事にアクティブなOperaウインドウを取得できた。

余談3 その発想は無かったわ

ニコニコ動画の仕様上、一度動画ページにアクセスしてるんだから、その時ついでにHTMLソース取得しとけば良くね?

戦い終わって ~神々の黄昏~

Operaが絡むと毎回ウインドウタイトルで泣かされる。今回は最終的に関係無くなったからいいが、やっぱりタイトルを取得できるようにするべきだ。

あと、せっかくなんで、ウインドウクラスからアクティブウインドウタイトルを取得するスクリプトを置いとく。Win32APIを使ってるんで、ActiveRubyとかじゃないと無理?

get_activewin_title.rb

Info

SBM Comments

edvakf
はてなスター10個ぐらいあげたい。

2007
1209

Tagsoperaruby

oAutoPagerize.jsのSITEINFOを更新するスクリプト

oAutoPagerizeはAutoPagerizeのOpera版。SITEINFOが取得できず、手動で追加しなければいけないのが面倒だったので、SITEINFOを取得して更新してくれるスクリプトを作った。

oaprize_update.zip

元はRubyスクリプトだが、exerbで実行形式のファイルにしてあるので、解凍したファイルの中にあるooprize.exeをooAutoPagerize.jsと同じフォルダにおいて実行するだけで更新してくれる。

他人がコンパイルしたファイルなぞ信用できないという人の為にソースも用意しているので、そういう人は自分でコンパイルするなりそのままRubyで走らせて欲しい。

oaprize_update.rb

なお、自分でもあまり試していないので、動かなかったらごめんなさい。

Info

SBM Comments

edvakf
applicationもstorageも各ウィジェットで一つ。ウィ

2007
1204

Tagsoperarubyuserjs

続・ニコニコ動画視聴補助スクリプト for Opera

いいかげんなボタン配置等がいかにも自分用。

nico2assist.user.js

このスクリプトを導入するとページ左上にボタンが4個できる。それぞれをクリックすることで効果発動。

基本的に、ニコニコ動画を小ウインドウで見るスクリプトnico2windower.user.jsと合わせて使うものだと思いねぇ。

設定

デフォルトはwrapper利用に合わせているので、利用していないならflvplayer_wrapper = falseにしておく。

動画情報のトグル表示

一番上のボタン。基本的に切り離したウインドウで見るので、いちいちスクロールするのがめどい。

フルスクリーン

上から2番目のボタン。

拡大率をモニタに合わせて設定して、ボタン1つでフルスクリーンサイズに拡大。あとはF11を押してOperaもフルスクリーンにする。(小ウインドウではフルスクリーンにできないので、動画次第で開き方を変えるとよい)

公式で用意されているものは上下に余計なものがついた状態で拡大されるのに対し、こちらは純粋に動画部分のみを拡大する。

デフォルトでは1280*1024モニタに合わせているので適宜修正する。

画質向上

上から3番目のボタン。

向上するらしい。iroiro.jsからパクった。

ソフトリロード

一番下にあるボタン。F5を介さずにリロード。局所的に使う。

市場手動化

ページ開いた時に、市場読み込み待ちでカーソルが砂時計になっているのが非常に嫌だから。

その他諸々CSS

このスクリプトを導入すると、基本的に動画ページはプレイヤーと市場手動表示ボタンしか表示されなくなる。

せっかくだから時報キャンセラー

スクリプトと関係無いけど。

コンテンツブロックにhttp://www.nicovideo.jp/api/getmarquee*を追加。

Info

SBM Comments

sonota88
「わざわざrssにしてリーダーで知らせるよりも新着発見即ダウンロードのほうが効率よくね?」

2007
1114

Tagsoperauserjs

Operaでユーザースクリプトのみを有効にする(Ultimate blockage/Noscriptlike編)

A Script like NoScript. - User JavaScript - Opera Community

リンク先ページの下のほうにスクリプト本体がある。

Ultimate blockageを導入すると、全てのWebページで右下に小さなアイコンが表示されるようになる。アイコンをクリックすることでブロック可能な画像/オブジェクト/スクリプトの一覧が表示され、blockボタンを押すことで次回ページ読み込み時からブロックすることが可能になる。

先日紹介したDisable Scriptとは違い、こちらはまず全てを許可した上で、必要無い物を選んでいくというブラックリスト方式になっている。

なお、NoscriptlikeはUltimate blockageから画像とオブジェクトを除いたもの。

問題点1:スクリプトのブロックが甘い

scriptやタグ内に直接記述されたものに関しては全くブロックすることができない。あくまでもscript要素からsrcで参照しているスクリプトのみとなっている。

問題点2:ドメイン単位のブロックが不可能

URL単位でしかブロック情報を記録しないので、トップページでブロックしても他のページに存在するなら再びブロックしなくてはならなくなる。

問題点3:クッキーを利用する

クッキーを消してしまったら再びブロックしなければいけない。

感想

クッキーをそんなに消さず、特定のウザいものだけ消したいというのであれば有効か。ぶっちゃけコンテンツのブロックで十分な気がするので、入れるとしたらNoscriptlikeだけでいいかもしれない。

となると結局JavaScriptを常時OFFに行き着くわけで。

参考

Operaでユーザースクリプトのみを有効にする(Disable script編)

Info

2007
1016

Tagsoperauserjs

Operaでユーザースクリプトのみを有効にする(Disable script編)

  • Disable script
  • ページで読み込まれるスクリプトを全てはじき、スクリプトを無効化しているのと同等の状態で表示するようになります
  • ujsenabledで始まる関数のみが実行されます

ユーザーJavaScriptだけ使いたいのですが - Opera-PukiWikiPlus!

んなばかな、と思いつつリンク先のを見てみたが・・・なーるM。これ考えた人すごいわ。しかも2005年て。

解説

イベントハンドラのBeforeExternalScript、BeforeScript、BeforeJavascriptURL、BeforeEventListenerに対してe.preventDefault()を設定することで、以下の方法によるJavaScriptの実行を阻止している。

基本的にwebページ上でJavaScriptを実行するということは、上記4通りのいずれかになるので、常にJavaScriptがOFFとなる。

で、ユーザースクリプトはこれら4通り以外の領域で実行されるので、問題無く動作するというわけだ。

問題点1 一部のユーザースクリプトが動作しなくなる

スクリプトの都合上、上記の4通りの方法のうちいずれかを取っているものは当然動作しなくなる。

そこで、回避策としてイベントリスナーとして関数名にujsenabledを含んでいるもののみ実行を許可するようにされているので、そのようなスクリプトは書き換えが必要になる。

問題点2 ホワイトリストの作成が面倒

基本的にブラウザ側のJavaScriptを有効にして使うことになり、結果として全てのページのページ側で用意されたJavaScriptが問答無用で無効になる。取捨選択は行われないので、手作業でホワイトリストを追加しなければならないのが面倒。

例えばdel.icio.usでJavaScriptを有効にしたいのなら、以下のようにdisable-script.js内に記述する必要がある。

// @include http://del.icio.us/
if( document.location != "http://del.icio.us/" )

// @include http://del.icio.us/*
if( document.location.indexOf( "http://del.icio.us/" ) != 0 )

// @include del.icio.us
if( !document.location.match( "del.icio.us" ) )

感想

ホワイトリスト追加は容易なので個人的に問題ではないが、ユーザースクリプトを一部修正しなければいけないのがなんとも微妙。

だが、手法が面白いので応用して何かできないか思案中。

参考

Info

2007
1015

Tagsoperauserjs

StylishのCSSをOperaでも使えるようにする (Proxomitron版)

数ヶ月前に一度書いたんだが、やはりUserScriptは遅い。そして常にJavaScriptを切っている身には役に立たたん。ということでProxomitron用フィルタとして書き出すようにした。

現状ではStylish.rdfからCSSを抽出して、@-moz-document指定されているものを1つのフィルタとして出力。それらにURL無指定の全体適用CSSをくっつけている。

「複数のルールのマッチを許可する」はOFFにしているので、同じ@-moz-documentが複数存在すると、1つしか適用されない。

あと、他人のStylishの管理方法なぞ知らないのでCSSの切り出し方は自分に合わせている。

userstyles.orgから落としているだけなら問題無いと思う。たぶん。

あとはスクリプト内に使い方を書いているのでそこを読んでそっちを参照して欲しい。

opelish.ahk

Info

2007
0922

Tagsfirefoxopera

怒本格最速ブラウザが完全進化「Opera 9.5 Alpha 1」

己が目で確認せよ。これが史上最速のブラウザである。

新たな設定項目

29項目増えて15項目消えた。

Colors|Selected Background
選択テキストの背景色
初期値:#000080
反映:即座
GUI:false
Colors|Selected Background Unfocused
選択テキストにfocusもunfocusも無いと思うんだが・・・誰か教えてくれ。
初期値:#c0c0c0
反映:即座
GUI:false
Colors|Selected Text
選択テキストの色
初期値:#ffffff
反映:即座
GUI:false
Colors|Selected Text Unfocused
上の上に同じでわからん。
初期値:#00000
反映:即座
GUI:false
Fonts|Tooltip
パネル内のリストアイテム等にマウスを載せた際に現れるツールチップのフォント
初期値:12,4,0,0,0,0,MS UI Gothic
反映:即座
GUI:設定 > 詳細設定 > フォント
Network|Enable Content Blocker
ブロックコンテンツを有効にする。無効にするとメニューからBlock Contentが選択不可能になる。
初期値:true
反映:即座
GUI:false
OperaSync|Complete Sync
同期関係に使われてそうなオプション。ってか重要っぽいんだからここで設定させんな。
初期値:false
反映:?
GUI:?
OperaSync|Last Cached Access
上に同じ。
初期値:0
反映:?
GUI:?
OperaSync|Last Cached Access Num
上に同じ。
初期値:0
反映:?
GUI:?
OperaSync|Sync Bookmarks
ブックマークを同期する
初期値:true
反映:?
GUI:File > Synchronize With My Opera
OperaSync|Sync Client State
同期させると1に、次回起動時に2になった。・・・まあ、わざわざ触る必要は無いと思われる。
初期値:0
反映:?
GUI:?
OperaSync|Sync Personalbar
パーソナルバーを同期する
初期値:true
反映:?
GUI:File > Synchronize With My Opera
OperaSync|Sync Speed Dial
スピードダイヤルを同期する
初期値:true
反映:?
GUI:File > Synchronize With My Opera
OperaSync|Username
My Operaアカウントのユーザー名
初期値:空白
反映:?
GUI:File > Synchronize With My Opera
OperaSync|Enable start with HTTP 1.1 for proxy
????
初期値:false
反映:?
GUI:?
OperaSync|Enabled Extended Keyboard Shortcuts
従来の1キーショートカットを利用する。
初期値:false
反映:即座
GUI:設定 > 詳細設定 > ショートカット
UserPrefs|Fast Forward Configuration
Fast Forward設定ファイルのパス
初期値:profile/fastforward.ini
反映:再起動後
GUI:false
UserPrefs|FlexRoot Max Width
ドキュメントの横幅の最大値(0で無効)。横幅がpx等で固定されていないならこの幅まで伸びる。
初期値:0
反映:即座
GUI:false
UserPrefs|FlexRoot Min Width
ドキュメントの横幅の最小値(0で無効)。上に同じ。固定されていないならどこまでも小さくなる。
初期値:0
反映:即座
GUI:false
UserPrefs|Limit Task Bar Attention To Personal Chat Messages
IRC用の設定? 使ってないんでよう分からん。
初期値:false
反映:?
GUI:?
UserPrefs|Max Visited Pages Index Size
opera:historysearchの検索で使うためにインデックス化するページの・・・容量? -1は無限だとして、5とか50とか設定すると全くインデックスされないが、1000とか入れると途端にインデックスされる。でもページの容量は30KB越えてたりと・・・わけわからん。まあ、制限する必要は無いだろう。
初期値:-1
反映:即座
GUI:false
UserPrefs|Message Style File
Stylesheet for Opera-generated messages。何に適用されてるCSSかわからん。
初期値:styles/messages.css
反映:?
GUI:false
UserPrefs|PageBar Open URL On MiddleClick
有効にした状態でタブバー上でミドルクリックするとクリップボードのテキストをURLとして開く。Ctrl+Bは億劫だが、右クリック貼り付けて移動もめどい。という人向け。無効にしている場合は新しいタブを開く。
初期値:false
反映:即座
GUI:false
UserPrefs|Scroll Is Pan
grabscroll(でいいのか?)、クリックした状態で上下左右でページをスクロールできるようになる。Opera Mobileに入ってるらしい。この状態でどうやって文字列選択するの?
初期値:false
反映:即座
GUI:false
Show Mail Error Dialog
そのまんま? メールのエラーをダイアログで表示する? M2使ってないんでにんともかんとも。
初期値:true
反映:?
GUI:?
UserPrefs|UserPrefs|User Style Info File
名称から察するに、ユーザーCSSマネージャーの設定のような気がするが、そのような機能は無し。ついでに初期値のiniファイルも存在せず。正式版に期待。
初期値:userstyle.ini
反映:?
GUI:false
UserPrefs|Visited Pages Search Style
履歴検索(opera:historysearch)で適用するCSSファイル
初期値:styles/search.css
反映:即座
GUI:false
UserPrefs|Wand Autosubmit
Wandによる入力後即座にsubmitするのを防ぐ。
初期値:true
反映:即座
GUI:false

相変わらずその他の設定は全てUserPrefsにぶち込んでるな。もちょっと分類してくれ。

消えた設定項目

調査してもわけわからんかった設定が軒並み消えた。他OSでは残ってるかもしれない。

ちょろっと触った限りでは

つか、以下のOpera Fanaticsなページを巡れば大体の状況が分かると思われる。

余談

ちまちま設定ファイル移すのめんどくせーと思ったら、Operaフォルダコピーして、そこにalpha入れたらそのままマージしてくれた(っぽい)。ナイス。

Info

SBM Comments

yuiseki
これはおもし

2007
0905

Tagsopera

暴満館

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

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

ページ内の見出し一覧
OperaUserScriptManager v0.20
Ruby製ニコニコ動画用ダウンローダー for Operaとか
Operaのユーザースクリプトを管理するツールをVisualuRubyで作った
ニコニコ動画の動画ファイルとコメントをダウンロードするRubyスクリプト for Operaとか
oAutoPagerize.jsのSITEINFOを更新するスクリプト
続・ニコニコ動画視聴補助スクリプト for Opera
Operaでユーザースクリプトのみを有効にする(Ultimate blockage/Noscriptlike編)
Operaでユーザースクリプトのみを有効にする(Disable script編)
StylishのCSSをOperaでも使えるようにする (Proxomitron版)
怒本格最速ブラウザが完全進化「Opera 9.5 Alpha 1」