.wsfの謎2007年06月12日 21時08分20秒

ちょっと.wsfに手を出してみたり

いちいちソースロードのスクリプトを書く(つーかコピペなんだけどね)のがめんどくさくなってきたので、.wsfに手を出してみたが、よくわからないことに。

まぁ、例によってprototype.jsを使いたいのでその検証とかしていたのだが、Object.extend(this, {})でグローバルに追加したメソッドを呼び出すと異常終了するという不可解な現象に出くわした。

コケるソース

こんなヤツ。

<?xml version="1.0" standalone="yes"?>
<job id="testJob">
	<script language="JScript">
Object.extend = function(dest, src) {
	for(var prop in src) dest[prop] = src[prop];
	return dest;
}
Object.extend( this, {
	testMethod : function() {
		return "test";
	}
} );
// ↓ ここで落ちる。正確にはtestMethodの呼び出し時。
WScript.Echo( this.testMethod() );
	</script>
</job>

検証用にprototype.jsは使わずにObject.extendのみ定義してやっているが、このコードを実行すると

問題が発生したため、Microsoft (r) Windows Based Script Host を 終了します。ご不便をおかけして申し訳ありません。
とでて落っこちる。なかなか非道い話だ。

こうするとコケない

ためしにObject.extendを使用せずにvar testMethod =~と改良してみた。

<?xml version="1.0" standalone="yes"?>
<job id="testJob">
	<script language="JScript">
Object.extend = function(dest, src) {
	for(var prop in src) dest[prop] = src[prop];
	return dest;
}
var testMethod = function() {
	return "test";
};
WScript.Echo( this.testMethod() );
	</script>
</job>
これではコケない。なんで??

ひょっとすると環境依存とかあるのかも知れないのでちょっと調べてみよう。

Safari3の顛末2007年06月12日 23時42分59秒

W2Kでフォント対応してみた

家のメインPC(W2K)でこのエントリと同様にフォント名を変更したフォントをインストールしてみたら、日本語表示できるようになった。

メニュー幅が固定になってしまうのは変わってなかったのでW2K固有の現象かと。

トラックポイントも使えるように

ついでにトラックポイントでスクロールできるように(メインPCはThinkPad X22)設定ファイル(TP4TABLE.DAT)に

*,*,Safari.exe,*,*,*,WheelStd,0,9
を追加。これで一通り設定完了にした。

が、GoogleやYahooで検索ワードを入力しようとしたら落ちる。不安定にもほどがあるだろ。orz