No More Scripts
これは?
No More ScriptsはUser JavaScriptを有効にしたままサイト側のJavaScriptの多くを無効化することができるOpera用のUser JavaScriptです。
サイト側のJavaScriptだけでなくimg、object、embed、applet、iframe要素を取り除くこともできます。
取り除く要素はドメインかURLで管理され、常に許可することは勿論、一時的に一部を許可/ブロックする、などといったことが可能になっています。
Firefoxの拡張のひとつであるNoScriptが機能としては一番近いです。ただしこちらにはXSSアラートはついていません。
ダウンロード
- ダウンロード
- nomorescripts_main.js
nomorescripts_domains.js
ver1.20 2010/09/04
初期設定
- nomorescripts_domains.js に各種設定を記入する。
- Operaのメニューから「ツール>設定>詳細設定>コンテンツ>JavaScriptを有効にする」にチェックが入っていることを確認。
- webページを開いた時に右下にアイコンがうっすらと表示されていれば動作しています。
メニューの操作
Webページ右下に表示されるアイコンにマウスカーソルを乗せるとメニューが表示されます。このメニューから各種操作を行います。
*** を許可 / *** をブロック
例えば、「www.yahoo.co.jp をブロック」をクリックすると画像やFlashやJavaScriptでURLにwww.yahoo.co.jpを含むファイルの読み込みをブロックします。
例)
http://www.yahoo.co.jp/images/logo.png
http://www.yahoo.co.jp/js/jquery.js
逆に「www.yahoo.co.jp を許可する」をクリックすると一切ブロックしなくなります。
現在許可しているものには緑のアイコンが。ブロックしているものには赤いアイコンが表示されます。
全てブロックする
表示されているアドレス全てに対してブロックするようにします。設定ファイルで常に許可するようにしていてもブロックします。
No More Scriptsを停止する
No More Scripts自体の動作を止め、あらゆるファイルを許可するようになります。他のUser JavaScriptと干渉してしまったり、Webページの実際の動作を確認したい時に使用してください。
No More Scriptsを再開する
上記で停止した状態を解除します。
一時的な設定
一時的に設定を変更します。設定内容については下記を参照してください。
メニュー操作時のリロードについて
メニューからブロック等の操作を行うとページをリロードするようになっています。このリロードを止めたい場合は、設定ファイルでreload_trustedにtrueを設定するか、メニューの一時的な設定から「許可設定を変更した時にリロードする」のチェックを外した瞬間からリロードは行われなくなりますので、手動でリロードするようにしてください。
No More Scripts 設定ファイル(nomorescripts_domain.js)
アドレスの指定方法
設定ファイル内で常に許可するアドレス等を指定する場合は、以下の3通りのうちのどれかで指定します。
1. ドメインで指定する
yahoo.com と指定した場合、www.yahoo.com、image.yahoo.com、yahoo.com と、ドメインの後ろに yahoo.com が付く全てのファイルが対象になります。
もし、www.yahoo.com と指定すれば www.yahoo.com だけが許可されます。
2. URLで指定する
http://www.yahoo.com/banner/hoge.jpg と指定した場合、全く同じURLのみが対象になります。
特定のファイルを許可したい場合に使用してください。
3. URLの先頭一致で指定する
http://www.yahoo.com/* と指定した場合、URLの先頭に http://www.yahoo.com/ を含む 全てのファイルが対象になります。
nms_trusted
常に許可したいファイルのアドレスを列挙します。
nms_blocked
常にブロックしたいファイルのアドレスを列挙します。上記のnms_trustedよりも優先されます。
nms_disabled
No More Scriptsを無効化した状態で開きたいWebページのアドレスを記述します。
nms_config
許可やブロックに関する設定を記述します。
使用上の注意
タブ内で設定を引き継ぐ為にwindow.nameを利用しているので、フレーム等の扱いやwindow.open後の操作などが上手くいかなくなる可能性があります。
よく訪れるページでこの問題が発生する場合は、そのページのアドレスをnms_disabledに登録することで、No More Scriptsを無効化することができます。
動作しない場合
Operaの仕様により、httpsなページではNo More Scriptsを含む全てのUser JavaScriptは一切動作しません。
また、サイトごとの設定でJavaScriptが有効になっていなくても動作しません。
それでも動作しない場合は、差し支えなければそのページのURLをコメントフォームから送って頂けると今後の開発の参考にします。
リンク
No More Scriptsは以下のUser JavaScriptを元に作成しています。
- Block external 2-0
- http://www.howtocreate.co.uk/operaStuff/userJavaScript.html
- blockscript
- http://files.myopera.com/shoust/blog/blockscripts.js
No More Scriptsでは、以下の画像素材を使用しています。
- Icon-King ≫ Blog Archive ≫ Nuvola
- http://icon-king.com/?p=15
更新履歴
- 2010-09-04 v1.20
- 色々修正
- 2009-02-05 v1.16
- 読み込みが早い&キャッシュされたコンテンツをブロックできていなかったのを修正
- すぐにリロードされない状態でブロックボタン連打するとwindow.nameがおかしくなるのを修正
- 2008-09-03 v1.15
- Flashを代替要素内のURLが長く表示されてしまうのを修正。
- 2008-08-06
- 専用ページを作成した。
- bodyのonloadをブロックするようにした。
- 設定ファイルが無くても動くようにした。
- deactivate_if_disabledを廃止してnms_disabledに指定したアドレスに該当するページではスクリプトが全く動作しないようにした。
- 2008-08-03
- Flashのみのページでも動作しないようにした。
- 2008-08-01
- 画像のみのページやhead要素が無いページで動作しないようにした。
- 2008-07-27
- iframeのsrcが空だとスクリプトが止まってしまうのを修正。
- 2008-05-26
- 不具合を修正。
- 常にブロックするロケーションを指定できるようにした。
- 常に無効化するロケーションを指定できるようにした。
- 2008-05-23
- domain、url、url-prefixで指定できるようにした。
- 一時的に設定を変更できるようにした。
- current_url_toggle_by_key を削除した。
- その他大幅に修正。
- 2008-05-18
- サブドメインでも判定できるようにした。
- メニュー表示位置を変更できるようにした。
- 不具合を修正。