出来ない事をあえて試してみる ~ エラーページを使ってあれこれできないか試みる編
Wednesday, September 19, 2007 12:32:49 PM
公式ページのユーザスクリプトの解説を読めば、それが適用される範囲はちゃんと書いてあるのだろう。それはまだ確認していないが、結論としては俺もやっぱりできなかったのでここに書いているのだが…。
たとえばアドレスとして opera:menu なんてのを入力して開いてみる。そうするともちろんエラーページが表示されてしまう。これらのエラーページがどこに有るのかはまだ良く知らないが、IE6のようにどこかのディレクトリにあるエラーページへリダイレクトするのではないように見える。
ここで
<about:blank> Title: エラー URL: opera:menu Last Modified: January 1, 1970 GMT
それなりの情報がちゃんと表示されている事が分かる。 Last Modifiedの日付がやや気になるが、これはこのエラーページ(おそらくOpear内部に持っているであろう…)が更新された日付というよりも、単に無効 (=0のようなもの) という事なのだろう。
ちなみに、このブックマークレットはどこかのウェブサイトで拾ったモノで、基本的にはページのアドレスやタイトルをアラートボックスに表示するだけの簡単なものだ 。内容は以下の通り (日本語表示なので作者は日本の方かと思います。どなたかもう忘れましたがありがとうございます)。
javascript:d=window.document; var msg='Title: '+d.title+'\nURL: '+d.URL+'\nLast Modified: '+d.lastModified; alert(msg);
なお、Operaのデベロッパーコンソールを使ってもこれらのエラーページを調べる事もできる。
と、こんな風にエラーページでブックマークレットやデベロッパーコンソールが使えるなら、ユーザスクリプトも使う事が出来るのではないか…という訳だったのだが…。前述の通り、これらのエラーページでは少なくとも上記ブックマークレットと全く同様のユーザスクリプト(本当に同じようなものなので内容は割愛します)は動かなかった。ただし、上記と同様の別のjavascriptコードを持った(DOMを作る)ブックマークレットを実行すると、そのとたんにこのユーザスクリプトが動いてしまうのだが…。ちなみに、Operaのユーザスクリプト用の機能であるイベント駆動型のファンクションはまったく試していない。
そろそろまとめへ…。まだ本当にユーザスクリプトが動かないと決め付けるまでには至っていないのだが(ここまで決め付けておいて…)、これらのページはやはりOperaの内部リソースとして組み込まれていてユーザがカスタマイズできるのは、スタイルシートと各国語用のメッセージファイルだけに限定されているのだろう。できればこれらのページをユーザ(もちろん一部マニアのためだけですが…)にカスタマイズできるようにして欲しいと。俺個人としては別にこれをいじって何をしたいという訳ではないのだが…。ただ、最近、マニアに残された僅かな隙間である言語ファイルにユーザスクリプトを仕込む事でなかなか楽しく便利な事ができるという賢くも苦し紛れなトリックが紹介されているのを見ると、限りないマニアの要望に対してもそれなりの舗装された道を用意しておいた方がいいのではないか等と考えたりもするのだ。