日曜日, 10月 28, 2007

ふと気づいてみると、IE7は遅い。

ふと気づいてみると、IE7は遅い。いつのまにか、FireFoxのほうがロード時間が短くなっている。一瞬の真っ白画面がなんともいえない。もっとも、マイクロソフトのサイトは、どのブラウザを使っても遅い。

しかし、まだシェアはあるはずだ。と思うので、右クリックでJavascriptを走らせるのを書いてみた。レファレンスなどこのへんにある(microsoft.comsxlist.comAdding Entries to the Standard Context Menu)。

マイクロソフトのこのサイト。リンク切れなどあってしようもないサイトである。っと、驚いたことに、リンク切れで戻ってみると、リンクタグが失せている。あきれ果てたサイトである。ないリンクには飛べない。

結局、スクリプト探しに一日はつぶさずにすんだが、数時間は優にかかった。なんてことだ。Javaで標準化されていれば、数分で終わったものが、Javascriptであるだけでこれほど手間がかかる。変数型を指定しないJavascriptのどこがいいのか理解できない。

とぶつぶついいつつ書いたのがこれ。

<script language="JavaScript">
var win = external.menuArguments;
var doc = win.document;
var txt=doc.selection.createRange();
txt.execCommand("Copy");
</script>

書いたというほどでもないが、このへんをClipboard.htmlなどに放り込んで、レジストリに指定してやると起動する。場所はここ。HKEY_CURRENT_USER\Software\Microsoft\Internet ExplorerMenuExt

こんな記事を発表したくはなかったのだが、なにやら書かねばならない「圧力」を感じるので、仕方がない。ビルマの鉱山労働者の気分である。書かせる動機がカネではないと、どうしても強制労働になる。気のせいだといってしまえばそれだけだが、義務化された強制労働を美徳とするのは、確かに社会正義とはいえない。

しかしまあ、なんでJavascript関連サイトには、いやらしいアドとか多いんだろ。やめてほしい。とさらにぶつぶつ言いながら書いたのが、改変したテキストをクリップボードにコピーするスクリプト。

<textarea id="holdtext" style="DISPLAY: none"></textarea>
<script language="JavaScript">
var win = external.menuArguments;
var doc = win.document;
var txt=doc.selection.createRange();
holdtext.innerText = txt.text+"a";
textarea = holdtext.createTextRange();
textarea.execCommand("Copy");
</script>

もうひとつ気づいたことといえば、このブログサイトでは、タグがそのまま表示されない。HTMLとして解釈されるので、タグはすべて&lt;ではじめなくてはならない。

しかし、マイクロソフトのマニュアルは、以前より丁寧に記述してあることに気づいた。

var url = win.location.href;

この指定で、URLを得ることができる。すばらしい。

最後にもう一言。グーグル検索だと、言語が正確に指定できない。ヤフー検索のほうが正確である。それに、検索エンジンに、ドメインを排除するオプションがあってしかるべきだと思う。

Qt: 外部プログラムを起動する

  Qt/C++ のアプリは、外部へ直接アクセスできます。これはネットアプリでは不可能な Qt のメリットです。 外部プログラムを起動することもできます。QProcess::startDetached() を使うと独立したプロセスを立ち上げることができます。 この QProces...