ふと気づいてみると、IE7は遅い。いつのまにか、FireFoxのほうがロード時間が短くなっている。一瞬の真っ白画面がなんともいえない。もっとも、マイクロソフトのサイトは、どのブラウザを使っても遅い。
しかし、まだシェアはあるはずだ。と思うので、右クリックでJavascriptを走らせるのを書いてみた。レファレンスなどこのへんにある(microsoft.com、sxlist.com、Adding 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を得ることができる。すばらしい。
最後にもう一言。グーグル検索だと、言語が正確に指定できない。ヤフー検索のほうが正確である。それに、検索エンジンに、ドメインを排除するオプションがあってしかるべきだと思う。
日曜日, 10月 28, 2007
Qt: 外部プログラムを起動する
Qt/C++ のアプリは、外部へ直接アクセスできます。これはネットアプリでは不可能な Qt のメリットです。 外部プログラムを起動することもできます。QProcess::startDetached() を使うと独立したプロセスを立ち上げることができます。 この QProces...
-
コンデンサマイク 極性があります コンデンサマイクがようやく届きました。モジュールではないのでそのままでは信号が弱いので使えません。信号を増幅する必要があります。 ちょっとした手間ですが、首尾よく動いてくれました。この回路の応用で、使えるマイクが出来ます。 ...
-
Flask/SQLAlchemy 使ってる方、jinja で困ってませんか? 本体で Python の関数を書いてもいいんですが、テンプレートでも関数が呼べます。 日付を出したい場合、フォーマットなら strftime() が使えます。 わざわざ文字列を作って渡す必...
-
PowerBuilder では Time, Date, DateTime などという型があります。 デフォルトの表示形式から変更する場合は String() 関数を使います。 String(Date('1/12/2016'),'yyyy-mm-dd...