Update : 1999/5/1

◆◆◆ 裏技&Tips; ◆◆◆



 このページはJavaScriptのトップページに掲載されたものを、こちらに回しているだけです(^.^b



 すみません下のスクリプトで昨日(4/22)の11時にアップしたヤツは1箇所間違ってました。

a.length → moji.length

 for(〜)の所です。



 JavaScript 1.3のリファレンスで、おかしな部分を直しました。どこか<>が逆さになってスクリプトが表示されている所があったような気がするけど、行方不明f(^^;
 JavaScript1.3になって、日本語1文字を2文字分でなく1文字分でカウントするようになっています。で、これじゃあ以前のバージョンと互換性が取れないわけで困ってしまいます。という事で知恵を絞って(?)NS2,3,4,4.5,IE3,4,5共通に使える文字の長さを返す関数を作成しました。以下がスクリプトです。

function getLength(moji)
{
	var i,cnt = 0;
	for(i=0; i<moji.length; i++) if (escape(moji.charAt(i)).length >= 4 ) cnt+=2; else cnt++;
	return cnt;
}

 この関数は日本語1文字を2文字として返します。つまりJavaScript1.2と同じです。IEでもちゃんと2文字として返してくれます。またNetscapeに限り関数名をlengthとしてやれば自動的に関数がオーバーライドされて文字列処理の時は上記関数を呼びだしてくれます。(他の〜.lengthには影響ありません)
 上記のを応用すればJavaScript1.3でなくても日本語1文字を1文字としてカウントさせることができます。あとは、応用ですから参考にして自由に使って下さい。リファレンスページのlengthの所にも同じ関数を掲載しています。また、5月20日頃発売されるJavaScript Pocket Reference改訂版にも掲載されます(^^)/




 リファレンスのリンクミスを修正しました。が、塩尻インターネットのサーバーがアップデートされたとの事で(本日午後3時以降)リンクエラーが結構発生する可能性があります。リファレンスページが見れないというのは修正しましたが多分他にもあると思います。もし見れないページが出ましたら、お手数ですがopenspc@po.shiojiri.ne.jpまでメールしていただけると助かります。
 JavaScript Pocket Reference改訂版最終校正中です。今度はJavaScriptでは初?のビジュアル的に命令が引けるようになってます。といっても全部の命令が引けるわけではありませんが、見て把握できるようになってます。



 リファレンスを、とりあえずIE5まで動くかどうかのマークを付けました。(一部修正)
まだ、間違っている部分あると思いますので、気づいた点がありましたらopenspc@po.shiojiri.ne.jpまでメールしていただけると助かります。おおよそ校正が終わったらダウンロードページに圧縮してまとめておこうと思います。
 Latin-1コードは一応解決しましたが、2文字不明のまま...
 あとバグリスト転送するのを忘れて以前のままでしたf(^^; 新しく判明したものなどIE5を含むバグリストを更新しておきました。

 本日(4/14)発売のOh!XにJavaScript and MMFlashのLiveConnectの原稿書きましたので興味のある方はどうぞ。本にJavaScript→FLASHの命令表が載ったのは初?かな??



 ライブラリにExplorer 4/5専用の項目を設けました。Explorer 5だとIMEの切り換えもJavaScriptで行えます。フォームのテキストエリアの文字位置調整も行えるのでサンプルスクリプトとして、いくつか用意しました。参考になれば幸いです。まあ、仕様書どおりに動かないというのは世の常ですが・・・



 JavaScript Libraryを少し変更しました。表組をやめて、なるべく素早く表示されるようにしました。それでも73KBほどあるので、ちょっと時間かかってしまいます。またIE4.5,IE5対応マークを付けていますが、まだ未チェック状態です。IE4で動けばIE5でも動くはずですが、なんとも。対応マーク付いているけど動かない、というものがありましたらopenspc@po.shiojiri.ne.jpまでお願いします。



 PocketReference最初の校正中。という事で質問等のメールの返事が遅くなってます。すみません。あと2000年に関するいわゆる2000年問題ですが、DateオブジェクトのgetYearで返される数値が機種とブラウザごとに異なっています。UNIXは未調査なので、もしメールいただけたら幸いです。調べた所ではWin,Macと各ブラウザのgetYearの返す値は以下のようになっています。





              |1999|2000|
--------------+----+----+
Mac   +NS2.02 |  99|100
Mac   +NS3.01 |  99|2000
Mac   +NS4.01 |  99|2000
Mac   +NS4.05 |  99|100,2000
Mac   +NS4.08 |  99|100
Mac   +NS4.5  |  99|100,2000
Mac   +IE3.01 |  99|100*
Mac   +IE4.01 |  99|2000
Mac   +IE4.5  |  99|2000
Win3.1+NS2.02 |  99|100
Win95 +IE3.01 |  99|100
Win95 +NS3.01 |  99|2000
Win95 +NS4.02 |  99|2000
Win95 +NS4.03 |  99|2000
Win95 +NS4.06 |  99|100
Win98 +NS4.5  |  99|100
Win98 +IE4.01 |  99|2000

*Mac+IE4の後にJSLibを書き換えない場合は2000
*Win98+IE4.01は2038年1月19日午前3時14分5秒(前後)までは4桁。2099年までは70
*Win98+NS4.5Jは2038年1月19日午前3時14分5秒(前後)までは3桁。2099年までは70




 とりあえずJavaScript Pocket Referenceの原稿が書き上がりました。この調子だと4月末あたりかなと思います(未定だけど)。今度はFlashやLiveAudioとのライブコネクトもリファレンスページとして入れてあります。IE4のフィルタ効果も入れてあります。ほとんどに注意書き付きというオチですが(^^;
 書いてあるスクリプトの動作はNS4.05で行っているのでNS4.5では不具合が出るものがあります。気づいたものに関しては[注意]書きがしてあります。あと今度はアルファベット順ではなく機能/目的別になってます。CD-ROM内のものはアルファベット順で引けるようになってます。もっともオンライン版のリファレンスと同じだけなんですが(^^;



 JavaScript and Perl大全集に収録するスクリプトのページでIE4の「フィルタ効果」が256色モードで動作しない(変化しない)みたいなんですが、うちにあるWinマシン(SONY VAIO Desktop)だと256色モードでも一応色が変化/表示されます・・・。256色でうまく動かない!という方がいたら、機種を私あてにメールしてくださると助かります。

 今まで出した本のほとんどに私のメールアドレスとしてopenspc@po.cnet.or.jpまたはopenspc@po.cnet.ne.jpとありますが、こちらのメールアドレスはすでに使用不可になっています。メールを出したのに変じがない場合は多分上記事項に該当します。また、たまに(1〜2ヶ月)メールが遅れて届くこともありましたので、1週間経過しても返答メールが来ない場合は、別の所(プロバイダ等)からメールするか再度送信してください。メール消失(行方不明)というオチが先月ありましたので、ここに念のためアナウンスしておきます。



 下のIE4のvar〜は仕様だ、というメールをいただきました。どうもIE4では最初のパス(スクリプトチェック)以下のように命令が並び替えられるようです。





■処理前
function test(A)
{
   alert(A);
   var A;
}

■処理後
function test(A)
{
   var A;
   alert(A);
}
 C言語などでは関数宣言直後に変数宣言を行うのですがIE4のJavaScriptも同様の処理が行われてしまいます。ただ並び替えられるだけならまだしも、以下のようなものもチェックされ順序が並び替えられます。





■処理前
function test(A)
{
   alert(A);
   if (B == 0) var A;
}

■処理後
function test(A)
{
   var A;
   alert(A);
   if (B == 0) var A;
}
 これからすると迂闊にvar宣言してはいけないようですf(^^;

 今まで、ほとんど触れられなかったSinged Scriptですが、とりあえずテキストとして以下のアドレスで参照できるようにしました。

Signed Script生成ツール(signtool1.1)

 認証するためのソフトは、なぜかMacintoshには用意されていません。Win,UNIXユーザーのみ、という事です。永久に標準では用意されないような気はします・・・



 Netscape Navigator 3.x/Communicator 4.xでウィンドウサイズを変更すると珍現象が発生する、というのがあります。これは以前から指摘されているのですが、最新版でも修正されていません。特に<BODY>タグ内に書かれたJavaScriptのdocument.writeで書き出した文字などが奇麗に消えてしまうのは困り者です。場合によっては特権違反、システムエラーをも引き起こします。
 今回、さらに追加されたバグ(笑)はウィンドウをリサイズすると<A HREF="#ABC">ABCへ</A>で示されるURLが狂ってしまうというものです。ファイル名がindex.htmlとすると<A HREF="#ABC">ABCへ</A>はindex.html#ABCにリンクしなければなりません。ところが、index.htmlが消滅してリンク先がただの#ABCとなってしまいます。これは、どう見てもバグです。が、いろいろやっているうちに、このバグを回避する方法を見つけました。それは「ディスクキャッシュ容量を0にする」というものです。ディスクキャッシュを0にすると毎回ディスク/サーバー上からデータを読み込むため遅くなりますが、リサイズによる珍現象が減ります。メモリキャッシュはこの場合無関係です。
 これからするとNetscapeではファイルが読み込まれた後、ディスク/メモリキャッシュにデータが蓄えられます。そしてリサイズされるとメモリキャッシュではなくディスクキャッシュから読み出してしまうのです。ちなみにA.htmlというファイルを転送しNetscapeで読み込み表示させます。次にB.htmlというファイルを転送しNetscapeで読み込み表示させます。そしてウィンドウをリサイズすると・・・B.htmlでなくA.htmlファイルの内容が表示されてしまいます。JavaScript部分がばっさり消えてみたりリサイズするとおかしくなるのは「ディスクキャッシュ/メモリキャッシュのバグ」という事になります。このバグを防ぐには最初に書いたように「ディスクキャッシュ容量を0にする」しかありません。(後はNetscapeに文句を言うか^^b)

 NetscapeばかりでなくWindows,Macintosh版のInternet Explorer 4でも不具合を発見。バグ内容は「消える引数の値」。これは引数と変数がばあいによっては共存できないという事です。以下が、その例です。

<HTML>
<HEAD>
<TITLE>BUG</TITLE>
<SCRIPT Language="JavaScript">
<!--
function test(A)
{
alert(A);
var A;
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT Language="JavaScript"><!--
test(123);
// --></SCRIPT>
</BODY>
</HTML>

 これを実行すると本当は123と表示されなければならないのですが、undefindとなってしまいます。引数と同じ名前の変数名をvar宣言してはいけない、というオチです。varを取れば正しく動作します。不条理な...

 今度はNetscape 4.5。全部のオブジェクトを確認したわけではないのですが、Mathオブジェクトでプロトタイプ宣言ができなくなっています。NS3.xやNS4.05などは問題なく動作するのですが。他にも駄目になったものがあるかもしれないので、これはまた後日チェックということで。

 最後はMac版のInternet Explorer 4.01/4.5のバグ。Mac+IE4.xで日本語文字列をJavaScriptで書き出した場合など、文字化けすることがあります。調べた所Mac+IE4.xでは「外部JavaScript」内で日本語を使用した場合、すべて文字化けすることが判明しました。日本語が入っていると全て駄目。同じことはMac+IE4.xのデータバインドでも言えます。????という文字になってしまうわけです。これは一応回避策があります。外部JavaScriptファイルをShift JISやJISでなくUTF-8 (Unicode)にすれば正しく日本語が表示されます。しかし、こうして作成された外部JavaScriptを使用するとNetscapeが一度表示した後に画面がリフレッシュされスクリプトで書き出された部分が消滅してしまいます。こうなると外部JavaScriptファイルを使う場合はMac+IE4.xは除外しておく必要があります。業務などでどうしても除外できない場合は、外部JavaScriptファイルにせず、全部1つのファイルにまとめて記述すれば問題は解決できます。


 という事で2月の更新はおしまいです。JavaScript Pocket Reference改訂版の誤字脱字ミスチェックしてくれる人募集中です(^^)
手伝ってもいいよ〜という人はopenspc@po.shiojiri.ne.jpまでメールをください。メールで思い出しましたが、openspc@po.cnet.ne.jp, openspc@po.cnet.or.jpのメールアドレスはすでに消滅しています・・・というはずがご丁寧にプロバイダがとってあるとのこと(@.@) 上記アドレスopenspc@po.cnet.ne.jp, openspc@po.cnet.or.jpに送ったメールは読めませんので、よろしくお願いします。同様に期限が切れているのですが旧JavaScript Libraryなどのデータもごっそり残してあるとの事です・・・。3月1日には消滅する・・・と思われますが定かではありません。



 ブラウザチェックスクリプトですが、ちょっと機種番号変更しました。SolarisはSunOSと名乗るようで現在判別できていません。
 バグリストにIE4のフィルタのバグを追加しました。たくさんあります。どうも根本的な問題をかかえているようですフィルタ効果。処理内容から察するとIE5でも直らないでしょう。他にもNSのバグをいただいているのですが現在チェック中です。NSだとウィンドウサイズを変更しない(笑)というのが大原則のようです。IE4もフィルタとか画面からはみでると狂うのでブラウザはフルスクリーンで使ってくれという事なのでしょうかf(^^;



 汎用ブラウザ、機種、バージョン取得スクプトを作成したのですが無事に動くでしょうか?

http://www.shiojiri.ne.jp/~openspc/BOOK/jsbook/script/allcheck/allcheck.htm

 チェックできる機種は以下のとおりです。

Windows 3.1
Windows 95
Windows 98
Windows NT
Windows 2000
Macintosh
FreeBSD
Linux
SunOS
Solaris

 機種番号は以下のとおりです。
-1 不明
0 Windows 3.1
1 Windows 95
2 Windows 98
3 Windows NT
4 Windows 2000
10 Mac (68K)
11 Mac (PPC)
20 FreeBSD
21 Linux
22 SunOS
23 Solaris

 判別できるブラウザはNetscape,Explorerのみです。WebBoy,Operaは判別できませんf(-.-b
うまく動かない場合はopenspc@po.shiojiri.ne.jpまでメールをください。



 PDFのJavaScriptのナイスなページです。

http://www.uguisu.co.jp/~gamer/

 PDFのJavaScriptでもゲームができるんですね。いろいろ用意されてます。PDFのJavaScriptの間違いを修正しておきました。昔リンクしていたけど、消していたAcrobatのページもリンクしておきました。
 Fireworks IIが出るようなんで楽しみです。今のは

 という作業を1/60sec〜1/30secほどで数回繰り返すとファイルあれど画像がない(笑)というバグがあるんで、これが直っていると安心です。こんなに素早く操作しないだろうと思っているんでしょう、きっと。ちなみにGIFだけに発生するようでヘッダーだけ書き込まれる感じです。Fireworksで開くと真っ黒け(笑) Mac版だけだと思うけど直して欲しい(^^;

 Pocket Reference改訂版とJavaScript and Perl大全集は同時期に出る感じ・・・。Perl referenceは、それまでにできそうもないので出版した後で作ります(^^;;;;



 javaScript and Perl大全集の方にフォーム内容の自動計算を追加しました。あとIE4.01でdocument.lastModifiedが、タイムゾーンで設定した時差だけ減算されてしまうというバグを確認。Mac版では4.01,4.5ともに正常。しかし、まだこんなバグが残っているとは予想外(^^;
 JavaScript PocketReferenceの方は命令/フィルタ/ライブコネクトを書き上げれば、とりあえずOKといった具合です。が500ページ以下でないとまずいので、ライブコネクトでも使用頻度の低いと思われるLiveVideoなどはCD-ROMへの収録ということでご了承下さい。
 JavaScriptでゲームを作ったら「こちら」のページに登録しましょう(^^)/ 以前日本ネットで行っていたGameWebなんですが、駄目になってしまったので、今回新たに始めることになりました。といいつつ自分のは、まだ登録していないんですが(^^;



 アンケートどうもありがとうございました。総数は約40でIE4 FilterとLiveConnectは半分くらいの割合でした。で、無事にどちらもポケットリファレンスに入れることができるようになりました(^^)/
 進行状況は、とりあえず1/3終わった程度です。う〜ん結構時間かかるなあ・・・



 ただいまPocket Reference改訂版を制作中なんですが、LiveConnect(FLASHに送るメソッドなど)、IE4のフィルタも項目として入れて欲しいと思う方は以下のボタンを押して下さい。



 あと、Macromedia FLASH2,3のLiveConnect一覧を用意しました。TellScriptおよびActiveXの命令もリストアップしてあります。
 ポケットリファレンスで新しく見つかった修正部分があります。結構たくさんありました、どうもすみません。あとHTML文書内でのJavaScriptの記述方法で&ltおよび&gtを一括変換した時に余計な;がスクリプト中に入っていました。これも修正しておきました。


 公開チェックネタです。Win + Netscape 3.xで以下のスクリプトを実行すると特権違反で落ちる場合があるとのこと。Mac + NS4だと正常で何事も起こりません。Mac + NS3だと何度か読み込んでいると(リロードすると)ページ構築中か構築後にNSが終了してしまうことがあります。
 NS2/3だとフォーム内に100近くテキストエリア等を配置するとテキストエリアを見失うというバグがあったのですが、このようなラジオボタンでもオブジェクトを見失うようで1つおきにしかデータを拾えないと報告をいただきました。(ダイレクトにdocument.writeしているので危険と言えば危険なスクリプトではありますが)
 NS4では直っているみたいですが、NS3をお持ちの方は試してみて下さい。レポートをメール(openspc@po.shiojiri.ne.jp)でいただけると助かります。

http://www.shiojiri.ne.jp/~openspc/test/radio.html

 また、どうしてもスクリプトが動かない、ちょっと動作がおかしい等ありましたら公開チェック(?)いたしますのでメールをください。できればページ上にアップロードしてもらってURLと症状(機種&ブラウザも)をメールするのもお忘れなく。



 Mac+IE4.01だとFLASHムービー制御できないんでしょうか。以下にサンプルを作ったのですがJavaScript → Flash3だとエラーになってしまいます。FLASH側でGET URLにJavaScript:関数名とすると動くらしいのですが、実行すると動くけどエラーになってしまいます。もしエラーを出さずにMac+IE4.01でFLASHムービーを制御できる方法をご存知の方はおしえてくださいm(_ _)m (メールはopenspc@po.shiojiri.ne.jpです)

・JavaScriptからFLASH制御
http://www.shiojiri.ne.jp/~openspc/test/sample1.htm

・FLASH側からFS CommandでJavaScript呼びだし
http://www.shiojiri.ne.jp/~openspc/test/sample2.htm




 eval(08),eval(09)のレポート下さった方々ありがとうございました。どうもエラーがでないみたいなので環境によるものみたいです。さらに別のバグレポートもいただいているのでバグの出るページを用意したら、またアナウンスします。
 あと、JavaScript GAMEのリンクに追加です。

http://www.enjoy.ne.jp/~tandbe/




 IE4(Win95/NT4)でeval(08),eval(09)とするとエラーになるという報告をいただきました。が私のマシン環境では再現しないので、以下のアドレスに実際のサンプルを用意しました。

http://www.shiojiri.ne.jp/~openspc/test/ts.html

 またエラーが発生しているIEのビルド番号(バージョンについて...で表示される番号)は4.72.3110.8です。エラーが発生しなかったバージョンはWin98でIEのビルド番号は4.72.3110.1です。エラーが発生した、しないの報告をいただけたら幸いです。報告はIE4のバージョンとOSの種類をメールしてくだされば結構です。報告はopenspc@po.shiojiri.ne.jpまでお願いします。

 あとコミケで売れ残った(笑)Mac(G3用)のゲーム、お年玉プレゼント(ちょっと時期外しちゃいました^^b)ということで1名にプレゼントします。CodeWarrirorのソースリスト付きです。2D縦スクロールシューティングなんで、そういうのが好きな人がよいかなと。応募締め切りは1/15まで。選考は独断と偏見で(笑) メールに「SWプレゼント希望」と書いて送っていただければ後日ページ上で発表し郵送いたします。(媒体はCD-ROM。300MB近くあるんで・・・)



 新年あけまして、おめでとうございますm(_ _)m
 本年もどうぞ、よろしくお願いいたします。
 という事で(?)Go Live社のCyberStudio 3.1Jのアクション集を発売する予定です。(日本語版です。英語版の方は文字化けして正常に表示されないかも) DynamicHTMLは手でかくと面倒だしIE,NS両方で動かすのは面倒くさい人にはおススメです。第1弾はCyberStudioが用意していないJavaScript1.2関連のものが主です。第2弾はJavaScript LibraryのほとんどをCyberStudio上で扱えるように考えています。ドラッグ&ドロップで放り込めばOKという具合にしたい所です。第1弾は去年のうちにできてしまっていて、FlashとのLiveConnectなども処理を選択するだけでできるようになります。まあ、どうしてもNS,IEの両方で動くとなると壁を超えられない部分もあるので全部が全部NS,IEで動作する、というわけではありませんが、手軽に扱えるようになるのは確かです。ちなみにアクションとCyberStudio3.1Jで作ったサイト(デバッグしながら、というオチも^^b)が

http://www.archills.co.jp/kitajima/index.html

 です。トップ画面では回線速度やマシン環境を判断しクッキーに書き込んでいますので1回目だけ表示されるページです。その後表示されるページでアクションはレイヤーの揺動程度しか使用していませんが、手でやるよりは格段に楽です。

 大全集の発売は、さらに延びそうなのでポケットリファレンス改訂版が先かもf(^^;



 コミケ用の作成中のゲームのポスターイメージです。

http://www.shiojiri.ne.jp/~openspc/sw/poster.jpg

 このポスターにだまされて買ってはいけません(笑) β1版だしG3 Mac のみでシューティングゲームが好きな人で上手(GRADIUS元祖の4面の復活パターンができる人、R-TYPEの7面の復活パターンができる人)じゃないと意味なし。まあ、Cで書いたソースリストもCD-ROMに入れるけど、20枚売れればOKかなと。こんな所で宣伝しても仕方ないんだけどf(^^;



 リンク追加しました。Comike'55に出すゲーム製作中(笑)のため、しばらく更新はお休みです。来年あたり更新予定ですf(^^;
 Comike'55では30日(水)東地区ヤ-06b, OpenSpaceでMacのゲーム売ってます(^^) でも、β版としか出せない状態ですf(^^;



 MMFlash3とのライブコネクト研究中ですが、NetscapeとExplorerではTotalFramesの扱いが異なっていました(Flash-mlで教えてもらいました)。Netscapeだと〜.TotalFrames()のようにメソッドとして総フレーム数を取得するのに対してExplorerだと〜.TotalFramesのようにプロパティとして取得するようになっています。こんな所くらい同じにしておけばいいと思うんですけど。
 あと、ほとんど見かけないJavaScriptとDirectorとのライブコネクトのサンプルも追加しました。Netscapeでしか動作確認していません。Explorerで動くかは謎です。Flash3になってライブコネクトで使用できるメソッドが増えているので、また追加しておかないとf(^^;



 Macromedia FLASH3を制御するLiveConnectサンプルを大全集のページに追加しました。とりあえず「再生、停止、再生状態」のみです。なるべくシンプルに記述したいなあと思っているので、当面の間変更ありです。またMac+IE4ではまともに動かないのでMac+IE4の場合に限り動作をしないようにしてあります。



 GIF画像内容を変更するスクリプトですがUNIXでは駄目。Win95/98,Macのみで、なおかつNetscape 4.01〜4.05までしか動作しないようです。4.01〜4.05でもうまくいかない場合はデータの場所(URL)をフルパスで記述すれば動作すると、うまくいく場合もあるとの事。ちょっとした技という事で本に収録ですねぇ。



 event.dataはセキュリティにひっかかるようでSingedScriptなんたらの世界。SignedScriptも調べないとよくわからないf(^^;
 大全集のページに大技?かどうかは分かりませんがJavaScriptでGIF画像を変更するスクリプトを追加しました。GIF画像を変更するといっても、前代未聞のシロモノではないかと。(海外では誰かやっているかも) JavaScriptでGIF画像を生成して画面に表示させる、といったたぐいです。さすがに真面目に生成するとUNISYSに特許料を支払わなければいけないのと(フリー/シェアウェアに関らず)、そこまでの技術力がないのでGIF画像のパレットカラーを変更するというサンプルです。低速かと思ったら、結構速いので実用で何か使えるかもしれません。GIF画像が1枚あればGIFアニメで色を変えなくてもJavaScriptで変更できますから、少しお得かも。逆にお得でないのはNetscape 4(Win,Mac)でしか動かないこと。UNIXは未確認です。でもJavaScriptでGIF画像を生成してウィンドウ上に表示できるってのは何かに使えるかもしれません。同様にJPEGでも可能なはずです。XBMと違って指定したサイズで表示してくれますので、Mac+XBMサンプルのようにメモリ内部まで表示するといったバカな現象は発生しませんf(^^;



 どうもevent.dataは駄目みたいです。あと大全集のスクリプトにInternet Explorerのフィルタ効果を扱うJavaScriptを追加しました。一応全部のフィルタを制御し、そのサンプルを載せます。いろいろなJavaScript本見ていますが、JavaScriptでの操作方法とプロパティの指定方法などちゃんと書いた本がないんですね。最初分からなくて、ちょっと時間かかってしまいました。



 大全集に収録するスクリプトのページを刷新しました。今度はコラムなども読めるようにしてあります。CD-ROMに収録するリストも付け加えましたが、何かリクエストがあればメールください。JavaScript1.3リファレンスもイベント部分で不足しているものを追加しておきました。でもイベントのdataってのが動きません。中を見てもUndefinedだし・・・。イベント.dataって正しく動作するんでしょうか???



 12月は忙しいっぽいので多分、あまり更新しないと思います。とりあえずレイヤーのイベントの未説明分を追加しておきました。onblur,onfocus,onmouseover,onmouseoutです。なんとなく隠し命令がありそうですf(^^;



 RegExpオブジェクトのリファレンス全部追加しました。multilineだけ、なんか動作怪しいのですが他はちゃんと動きます。あと、暫定ですが、正規表現についての説明を追加しておきました。
 リファレンスで、残っている部分もちょっと追加しておきました。残りは、まだ30ほど・・・先が長いf(^^?



 正規表現を扱うオブジェクトRegExpのリファレンスをちょっと追加しました。JavaScriptの正規表現のサンプルの説明も準備中。Netscape 4.08/4.5でも日本語は扱えないようです。4.05とかUnicodeに対応していないバージョンだとエラーになってしまったりします。Explorer 4だとMac版でもちゃんと日本語が扱えるようです。ちょっと試しただけなのでバッチリ大丈夫とは言えませんがf(^^;



 リファレンスをJavaScript1.3対応にしました。1.3の命令と説明、サンプルは追加したけどJavaScript1.2で説明とサンプルが抜けているのが結構あるので、まだ不完全です。toSource()は4.06/4.5以降でないと使えませんが、それ以外はほぼ全てのバージョン4で使用できます。あとscreenオブジェクトで正式にドキュメントなどには載っていませんがavailTop,availLeftの2つを追加しておきました。この2つはExplorer 4では動きません。



 リファレンスにJavaScript1.3で追加された命令を入れました。が、まだ説明/サンプルはまだです。今夜中に作れればよいかなと思っていますが・・・。JavaScript1.3で追加された命令はNS4.01など4.06/4.5以前でもインプリメントされていて動作するようです。あと、Netscape社のドキュメントにあるかないか確認していませんが、C言語と同じような代入式が記述、使用できます。

a = b = c = d = 9;

a,b,c,dともに内容は9になります。まとめて代入したい時は便利かな。



 収録スクリプトにユーザーオブジェクトの作成を追加しました。中身はちょっと強引でdocumentオブジェクトもどき(ほとんど同じですが)を実装する(笑)というものです。無謀っぽいのですが、割とシンプルです。こういう手法を使えばNetscape,Explorerのメソッド、プロパティの差異を吸収することが可能です。
 ポケットリファレンスの方が先に出る可能性高いかなあ。何か要望がありましたら、まだまだ受け付けていますのでメールください(^^) レイアウトはこんな感じになります。
 IE4のメソッド、プロパティも存分にいれた方がいいんでしょうか? とりあえずJavaScript1.3基準にしているのですが。入れろ!という人は下のボタン押してください(^^;




 お暇な方はどうぞ。まずhttp://www.shiojiri.ne.jp/に行って一番下にある「管理者の館」へ。ここで登場人物紹介を読む。次に一番下のカウンタの横の(from 1998/5/7)▼の▼部分をクリック。
全員実在の人物です。おまけに、ほとんど実話f(^^;
 半場方人さんの本「詳解JavaScript & DynamicHTML辞典」結構よくできてます。これ以上のものにすべくJavaScript Pocket Reference作成中〜。でも発売は来年f(^^;



 ライブラリにランダムに画像を表示するスクリプトを追加しました。簡単なスクリプトですけど、今まで作ってなかったんですね(^^; あとNetscape,Explorerのバグを収集中です。なんで収集しているかというと、またまたJavaScriptの本を作成することになったためです。ということでご協力よろしくお願いいたしますm(_ _)m



 Macだけ変、と思って他の2台のMacでやったら正常。メインマインの日付コンパネいじりまくっておかしくなってしまって変な時間を返していました。という事でMacでもちゃんと動きますf(^^;
 YAHAMA MIDI PLUGの制御をしようと思って最新版を入れたらLiveConnect機能がなくなってしまっていました・・・。Ver 2になると入るんだろうか。なんでLiveConnect機能入れてくれなかったんだろう・・・



 レイヤーの内容をスクロールバーもどきで制御するスクリプトを追加しました。特定の年月日までの日数カウントダウンも追加しました。が、どうもこれはMacだと1日多くなってしまうようで・・・
 UNIXだとどういう結果になるんでしょう?? cntdown2.htmの方で正しい残り日数が表示されればOKなんですが・・・。日付関連は、まだバグだらけ???



 サブウィンドウからメインウィンドウを制御するスクリプト等を追加しました。LiveAudio制御のスクリプトも追加。そういえばLiveAudio制御とかLiveConnect関係を説明したJavaScript本ってないですね。海外の本だとあるのかも・・・。一応JavaScript関係の本は、ほとんど購入しているんでf(^^;



 Shockwave for FLASHのプラグインのバージョンを返すスクリプトを作成しました。Mac+Flash3 Pluginで確認しましたが、Win95+Flash2プラグインなどでうまくバージョンが返ってこない場合はメールでもください(^^) 多分うまく動くはず・・・です。

http://www.shiojiri.ne.jp/~openspc/BOOK/jsbook/script/plugin/flashver.htm



 JavaScript1.2の命令でimport,exportというのがあるんですが、リファレンス見てもうまく動かない(importしない)。誰か使い方&サンプルありましたら、教えてください。

 下のページのカウンタだいぶ増えてますね(^^; どうも発売は来年1月末あたりになりそうな感じ。もしかしたらポケットリファレンスの改訂版が先に出てしまうかもしれません。あと、大全集等の要望は受け付けていますので、お気軽にメールください。
 あと、年末で忙しくなっているのでメールの返事がだいぶ遅くなっています。1〜2週間ほど余裕を見てもらえばありがたいです。



 11月になりましたので、お約束通りJavaScript and Perl大全集に収録するスクリプトを公開します。まあ、公開デバッグといった所です。うまく動かないよ〜という場合は「動作保証しているバージョンを確認した後」で機種名とブラウザのバージョンを書いてメールしてもらえば対処します。Internet Explorer 3,4の場合はビルド番号もお願いします。(ヘルプメニューのバージョン情報で表示される数値です。4.72.3110.1という番号です。
 肝心のスクリプトが用意されているアドレスは以下の通りです。

JavaScript and Perl大全集に収録するスクリプト

 次はJavaScript1.3リファレンスを作らねばf(^^; 命令は全部リストアップしたんですけどね・・・進んでいません。



 JavaScript Pocket Referenceの訂正分を追加しました。PocketReferenceは第5版で打ち止めです。JavaScript and Perl大全集ですが、来月スクリプトをできあがっている分だけ公開する予定です(公開デバッグかな)。発売時期は・・・実はわかりませんf(^^;



 下記のデータバインドのURLですが、転送したフォルダ名間違っていてリンクエラーでした。どうもすみませんm(_ _)m
JavaScriptでEPS形式のデータを表示する(実際はPhotoshopで保存したグレー画像だけど)スクリプトを作りましたが、かなりマシンパワー消費しますf(^^; もうちょっと手直しして用意します。ほとんどベンチマーク用?



 Mac+IE4でデータバインドを使ってソートすると100%落ちてしまう(Type2)のですが、これって他のMacでも再現するんでしょうか。ついでに日本語文字は文字化けして使えないし。まあMac+IE4でやるという事自体いけないのかもしれませんがf(^^;
 データバインドサンプル(Mac+IE4で落ちるサンプル)はこちら
(IE4だけ落ちてシステムには影響ありませんので、ご安心を?)



 IE4の細かいバージョンについてメールをいただきました。どうもありがとうございますm(_ _)m IE4のバージョン(ビルド番号っていうのですね)は以下のアドレスで参照できます。

http://www.asia.microsoft.com/japan/support/kb/articles/j040/4/00.htm

 見るとう〜んと唸ってしまいますf(^^; これだと、同じIE4で同じビルド番号であっても動くものと動かないものが出てしまいます。Win98だと、また違うような気もするし・・・ああ、泥沼(笑)
 CyberClickなるものをつけてみましたが、どうでしょう? 邪魔ならどけますf(^^;



 IE4でJavaScript Libraryのスクリプトが正常に動作しないという報告を受けました。今までにもうまく動作しないものなどあったのですが、やはり細かいバージョンの違いで動作する、しないがあるようです。こちらでの動作確認はバージョン「4.72.3110.8」です。今回報告があったものは「4.72.2106.1」です。ポップアップメニューでジャンプのスクリプトがエラーになるそうです。それにしてもIE4って、いくつ細かいバージョンがあるんでしょうか・・・どこかのページに載っていたら教えてくださいm(_ _)m



 バグ情報いろいろありがとうございます。ということでバグ情報追加しておきました(IE3,4)。掲示板の方にも適当に書き込んでください。インスタントWEBなんで、ちょっとみっともないのですが。JavaScriptとファイルメーカーを組み合わせてデータベース処理ということもできるかな。



 掲示板らしきものは、途中止まっていたみたいです・・・。パスワードとかID入力やめましたので、適当に書き込んでください。



 とりあえずFilemakerServer動かして掲示板らしきものを用意しました。(デフォルトのまま使うな〜と言われそう。とりあえず、ということで・・・) 都合によりID,Passwordを入れないと書き込めないようになっています。以下のアドレスおよびパスワードで入れます。

URL:http://fmp.shiojiri.ne.jp/
ID:js
Password:js
書き込み先:JavaScript.fm4

 javaScript.fm4のリンク文字をクリックしてもらえばパスワード入力画面になりますので上記パスワードを入力してご意見など書き込んでください。



 JavaScript and Perl大全集(の予定)という本を執筆中です。この本は以下のスクリプトが収録されます。ここに掲載してあるのは作成済みのものです。これ以外に作成して欲しいスクリプトがありましたら私までメールをください。Subject:〔題名)の部分に「大全集のリクエスト」と書いてメールしてもらえると助かります。具体的なものでも抽象的なものでも構いません。また、ここには載っていませんが、Cookieとデータベース関係も入ります。他の本には、ほとんど書かれることのないMacPerlあたりも用意できるといいかなと思っています。MacPerlのテストページはこちらです。といっても単純にperlでHTMLを吐き出しているだけですがf(^^;

 次にJavaScriptポケットリファレンスを1年半ぶりに改訂することになりました。とりあえずレイアウトはこのような感じにしようと考えています。(編集者に許可を得て掲載しています) こうしろ、ああしろという意見がありましたら私までメールをください。Subject:〔題名)の部分に「ポケリのリクエスト」と書いてメールしてもらえると助かります。今度は以前と違って1ページに同じような処理の命令がまとまって記述されるようになります。こうしないと、ぶ厚くなってしまいポケットリファレンスでなくなってしまうためですf(^^;

 という事で、ご意見お待ちしておりますm(_ _)m


◆JavaScript and Perl大全集、作成済みスクリプト一覧



 ライブラリに5秒後にフレームを解除して指定ページにジャンプするサンプルを用意しました。JavaScriptでのフレーム解除方法の参考になるかな???
 サーバーの方はhttp,ftpの設定が終わりました。あとはFile Maker Serverだなあ。



 サーバーマシンを変更するので、http://www2.shiojiri.ne.jp/の方はちょっとアクセス不能になる時間があります(9/7まで)。


 結構アクセスしていただきありがとうございますm(_ _)m。今度はhttp://www2.shiojiri.ne.jpでアクセスできるはずです。しばらくは暫定ですので名称の変更、追加があるかもしれません。暇な人はアクセスしてみてください。
 JavaScript 1.2リファレンスができたらダウンロードページにまとめて圧縮しておこうと思います。ダウンロードページも、整備しないといけないなあ。(まだ、全然手を付けてない^^b)

 とりあえず制作中のバグリストです。こっち(http://www2.shiojiri.ne.jp/)のほうにアクセスした時だけみれるページですf(^^b



 JavaScript1.3のページができています。こちらのページで参照できます。
 とりあえず専用線接続になりました(^^)/
 このページのデータを置いておくので、暇な方は実験的にアクセスしてみてください。マシンがハングアップしたら駄目だけどf(^^;
見たい人はココを押してください。



 Mac版IE4だとタグ内で漢字の引数を渡せないという報告をいただきました(ありがとうございます)。IE3やNSだとちゃんと漢字を渡せるのですがMac版IE4は漢字を渡せないですね。<A HREF="javaScript:myFunc('漢字')">漢字</A>で漢字の部分が???|とかになってしまいます。
 他にもIE4のバグレポートをもらっているので確認次第載せます。う〜だんだんバグリストが多くなる(^^;
DynamicHTML回りだとさらに多くなるし、う〜ん。

 リファレンスも一部追加してあります。都合によりなんとしても完成(?)させないといけないので。しかし、まだ84コも残っている・・・あと、メールとか制御するのもあったような気がするし・・・JavaScript1.3とかいう話もあるし。なかなか、はかどらないf(^^;



 追加した部分で動作確認できたものは*印を外しました。Explorer 4のヤツはどうしようかと迷ってますf(^^; このリファレンス内に組み込むべきかなあ。う〜ん。只今、NS2,3,4,IE3,4のバグ&仕様による障害リスト作成中。あっという間に30超えた(笑) 多分100以上はあるでしょうf(^^b



 リファレンスで抜けている命令を追加しました。といっても、まだ一部で全部手が回っていません・・・。命令の最後に*がついているものが新しく追加したものですが、Netscape 4.5以外での動作確認をしていない状態です。Netscape 3では動かない等、不備がありましたらメールをくださいm(_ _)m



 IE4のプロパティは、小数点以下強制切り捨てだそうで・・・。LiveAudioとかMM Flashのプラグインを制御する時に、プラグインが入っていない場合JavaScriptで制御しようとするとエラーになってしまいますが、これは以下のようにすると回避できます。プラグインの名前はabcとします。

if (document.abc != null) プラグインの処理〜

 技としてはif (document.layers)などと同じものです。

 JavaScriptを使って作られたゲームのページを紹介しましょう。IE4専用ですが、ちょっと最初は難しいかな。

http://www.ylw.mmtr.or.jp/~masa26/index.shtml

 次回はシューティングゲームを作るとの事です。楽しみに待ちましょう。NS4,IE4両方で動いてくれるといいんですがf(^^;
 高橋登史朗さんが、出版された「だれでもカンタンDynamicHTMLサンプル集」はNS4,IE4両方で動くサンプルがたくさん(90個)あります。これは、なんとしてでも対抗せねば(^^;



 IE4と格闘中なんですが、Netscape 4はバグが多い多いと言われるけどIE4も不可解な現象が発生します。まず、こちらのスクリプトをWin95/NT + IE4で実行してみてください。揺れている文字がどんどん上にずれていってしまいます。
 このスクリプトは以下のようになっています。左側の行番号は説明用です。

1: if (document.layers) y = document["mvTitle"].top; 2: if (document.all) y = window["mvTitle"].style.pixelTop; 3: count = (count + speed) % 360; 4: y = y + Math.sin(count*Math.PI/180) * dy; 5: if (document.layers) document["mvTitle"].top = y; 6: if (document.all) window["mvTitle"].style.pixelTop = y; 7: clearTimeout(timerID); 8: timerID = setTimeout("moveTitle()",time);
 Mac + IE4, Netscape 4では正しく動作します。一見すると4行目のy = y + Math.sin(count*Math.PI/180) * dy;の演算誤差ではないか?と思われますが実際は違っており演算結果は正しくて誤差もほとんどありません。また、一定の誤差が発生せずに誤差は0に収束してしまいます。完全に原因がつかめていませんが、6行目のwindow["mvTitle"].style.pixelTop = y;で書き込まれた値を次に2行目で読み出した時に「値が違っている」という珍現象が発生している様子です。バグという話もありますが、原因調査中。

 今度はMac + IE4のバグ。IE4には水平線<HR>の長さを動的に変更できるのですが、以下のスクリプトを実行するとWin95/NT + IE4ではマウスを離したあと正しい長さ(400pixel)になるのに対してMac+IE4では140pixel程度にしか戻りません。

<HR size="10" onMouseover = "this.noShade = true;this.width=100" onMouseout = "this.noShade = false;this.width=400" >
 これは、どう見てもバグでしょう。

 今度はWin95/NT + IE4のおかしな座標位置です。以下のタグを記述しJavaScriptでサイズを変更(拡大)します。

<CENTER> <B><DIV id="moji" STYLE="position:absolute;left:50px;top:0px;font-size:1px"> 文字を拡大しながら表示します </DIV></B>  スタイル設定では左側から50pixel位置に表示するようになっておりMac+IE4, Netscape 4では期待通りの位置に文字が表示されます。ところが、Win95+IE4では、なぜかCENTERタグが有効になってしまいウィンドウの中央に文字が表示されてしまいます。初期状態だけでなくJavaScriptでサイズを変更しても(動的に変化させても)スタイルでの表示位置は無視されCENTERタグが有効になってしまいます。

 何かやるたびに珍現象&バグが発生するんですけどIE4...。他にも仕様書に載っているのに動作しないfileUpdatedDateとかf(^^b こんな調子だとIE4バグで本が1冊書けてしまいそう(笑)



 下の文章のdocument["レイヤー名"]ですが、どうもWin+IE4では動作せずにエラーになってしまいました・・・。document["レイヤー名"]でなくてwindow["レイヤー名"]でないと駄目でした。Mac版IE4はdocument["レイヤー名"]で利用できるのに・・・。もちろんwindow["レイヤー名"]も使用できる・・・。う〜ん、同じIE4でも、だいぶ違うというのは、分かっているつもりだったけど、これは前途多難。外部JavaScriptファイルもMac版ではOKでも、Win版だと駄目というオチもありました(ライブラリの簡易データベースが駄目です)。
 おまけ:IE3でjavaScript:void(0)の技(URLを読み込みに行かないようにする)が使えないので、この場合はそのスクリプトが書かれているファイル名(つまりカレントファイル)をURLに記述します。これだけではNetscapeで不都合が発生(指定したURLを読み込んでしまう)するのでonClick="〜;return false;"などのように戻り値をfalseにしてやります。



 最近気づいた点。Netscape 2.0ではdocument.〜と指定しないとオブジェクトを指定したときにエラーになっていたので、ずっとエラーになるものだと思っていました。がNetscape 2.0以外では直接オブジェクト名.プロパティ名としてもきちんと動作してくれます。例えば今まで「document.myImage.src = myURL」のように画像を指定していたものは「myImage.src = myURL」のように指定できます。同様に画面の背景色もダイレクトに「bgColor=カラー/色名」のように指定できます。さすがにNetscape 2.0を使用している人はほとんどいないと思いますので、ここらへんもどんどん使っても良いのではないかと思います。

 DynamicHTMLを使ってレイヤー等の制御を行う場合、NetscapeとExplorerを判断してレイヤーを指定する場合、今まで以下のようにして指定していました。

if (document.layers) document.layers["レイヤー名"].visibility = 設定値;
if (document.all) document.all("レイヤー名").style.visibility = 設定値;

 document.layers, document.allという具合に分けなくても以下のように全く同じ命令でレイヤーを参照する事ができます。

if (document.layers) document["レイヤー名"].visibility = 設定値;
if (document.all) document["レイヤー名"].style.visibility = 設定値;

 でも、やはりstyleプロパティを付けないとExplorerで動作しないので、両方で動作するコードを書くのは、なかなか大変と言えます。最近はフリーの関数が出回っていますのでDynamicHTMLを利用される方は、そちらを参考にして使用する、流用するのが良いでしょう。多くの関数は高橋さんのページに用意されています。



 今回はDynamicHTMLを使ったページのリンクを追加しました。

http://www.din.or.jp/~hagi3/JavaScript/JSTips/Default.htm
http://www2s.biglobe.ne.jp/~opec/heaven/

 DynamicHTMLリファレンスへの道のりは遠いf(^^b



 8月23日まで地元でこんな事をやっているので、ページの更新が低速になってます・・・。UNIX,BeOS,Mac,Win95,WinNT,TRON(1B/V3)マシンがいじれます。専用線も1.5MB無料で使いたい放題です。塩尻市近郊の方は、是非一度来て下さいませ。

 高橋登史朗さんがJavaScript/DynamicHTMLのメーリングリストを作ったそうでオープンなメーリングリストです。入会はhttp://www.fureai.or.jp/~tato/js-ml/jsml.htmです。質問等もOKとの事。いろいろJavaScript/DynamicHTMLの情報を仕入れたい人は是非どうぞ(^-^)/

 という事で、誰も作らないDynamicHTMLリファレンスを作成中です。まだα版という事で、間違いや命令へのリンクがありません。とりあえず対応関係だけ見れるといった感じです。アドレスは

http://www.shiojiri.ne.jp/~openspc/DynamicHTML/

です。う〜ん、いかれた量だなあ・・・。あとは命令リファレンスですね・・・。



 今までalertやステータスバーに表示すると文字化けしていた「表示」などがMac+NC4.05から文字化けせずに表示できます(^^)/ 4.04では試していないのですが、4.01だと文字化けしてしまいました。とりあえず、少しはマシになったという事で。
 あとブラウザ上からハイパーリンク文字をクリックするとTELNETが起動できるようにする場合、<A HREF="telnet:">telnet起動</A>とすると起動しそうだけど、無念起動しない。ところがJavaScriptを使うと手軽にできます。

<A HREF="javascript:location.href='telnet:'">telnet起動</A>

 これだけです。IE3,IE4,NS2,NS3,NS4で起動します。Netscape 1.1でも起動するんじゃないかなあ。Netscape 4.5になるとLiveConnectでFlashオブジェクトが(標準で)動かせるようになると面白そうです。


 ライブラリに関数呼び出し技、その1を追加しました。次は配列を利用した実際のサンプルを用意したいと思います。また。少し毛色の違うスクリプトも用意してあります。でも、画像を作らないといけないので、そっちの方が手間かも・・・。

 あと、FLASH 2のプラグイン+Explorer 4.01の組み合わせで、今までIE3,NS3,NS4で動いていたLiveConnect関係がエラーで動かなくなってしまいました・・・。もし、ここらへんどうなっているか、分かる方がいましたら教えて下さい。FLASH 3でFSCOMMANDでやりとりをするにはタグ内にSWLIVECONNECT="true"と書けばよいらしいのですが、それとは別だし・・・。



 炎のコマのアレンジされたもののリンクを追加しました。その名も「燃えろ焼き鳥」(笑) 結構ナイスなアレンジ(^^)。
 NN4,IE4どちらでも動くDynamicHTML Cross Code勉強中。結構面倒f(^^;;;
 簡単にすませようと思って、obj_func[n].funcType = moveLeft();としておきobj_func[n].funcTypeで関数を呼び出すという具合にすると一応は動くけど、IE4で動かないf(^^b あっちをたてれば、こっちがたたずっていう状態です。先は長い?



 遅くなりましたが「改訂版今すぐ始めるJavaScript」の訂正部分を用意しました。いきなり最初の画像が間違ってました・・・。最終稿をチェックできなかったのがまずかった。ご迷惑をおかけして済みませんでしたm(_ _)m

 2次元配列ができるならということで3次元配列のスクリプトも用意しました。

 document.writeの消滅現象。Netscapeでdocument.writeで文字を書きだしページ構築後にウィンドウをリサイズするとdocument.writeで書いた部分の文字は消滅します。これによりwindowsでは特権違反などで止まってしまう事があります。さらに、この影響かどうかはわかりませんが、フォームのhiddenにデータを記述するとページ構築後、内容が消滅するようです。

 statusの動作差違。Netscape 2.0だとstatus += "abc";としても次にjavaScriptでstatusバーに表示する時に内容がクリアされます。が、Netscape 3以降ではちゃんと文字が追加され内容がクリアされる事はありません。

 最近、急にNetscape関係の質問が多くなっていますが、ほとんどNetscapeのバグによるものだったりしますf(^^b 次のver 5で直るといいんですが。ソースは落としてきたけどサイズがでかいので、JavaScriptまわりだけ見てゴミ箱に直行しちゃいました(^^;



 2次元配列のサンプルをライブラリに追加しました。Cyber Studio ver 3.0Eの吐き出すコード見て「なるほど〜」と思ってNetscape社のページをみたらしっかりと解説付きで(笑)載ってました。ちと悔しかったので(?)2次元配列を作成する関数を用意しました。実質的に3行なんで手軽に使えるんじゃないかと思います。同様に多次元配列も作成可能なはずです。多次元配列の場合、1次元配列とは違って、自由に配列の個数を変更できるわけではありません。動的にはとるのは難しいので、配列の使用個数はしっかり宣言しておいた方が良いでしょう。

 次は配列を利用して時間毎に異なる関数を呼び出すサンプルを用意しようと思います。

 Internet Explorer 3.0が2000年問題に対応(笑)。いつ作ったソフト!?
 ついでにhttp://の後に半角文字を入力すると、そのままShift JISで垂れ流してしまうんですね・・・。サブウィンドウ、フレーム、2000年問題等、いろいろありますね〜。



 ふるさと国際倶楽部のページは無事に直りました。レポートくださった方々、どうもありがとうございましたm(_ _)m この場をかりてお礼申し上げます。

 という事でいろいろ情報をもらったのですが、IE4のフレームまわりは、かなり危ないようです。サブウィンドウも扱いが面倒なので

・フレームを使わない
・サブウィンドウを使わない

 といった具合になってしまいますね・・・。今まで無事に動いていたJavaScriptのフレーム関係で相対パスでディレクトリ指定している部分は、不具合を起こすかもしれません。フレームに表示されている自分自身のファイルのディレクトリ位置がカレントディレクトリではなく、フレーム分割設定をした親フレームのあるファイルがカレントディレクトリになるためです。../といった1つ上のディレクトリにさかのぼって・・・といった指定の仕方は正常に動作しない可能性大です。
 あと、いただいた情報でIE4がトップディレクトリ以外にある場合にも特権違反なども不具合を起こすようです。ここらへんは、もう少し調べてみようと思います。



 ふるさと国際倶楽部のページですが歴史の部分だけ変更してみました。今度は正常に動く・・・のではないかと。時間がある方でテスト結果をレポートしていただける方はopenspc@po.shiojiri.ne.jpまでメールしていただけると幸いです。

http://www.tcu.or.jp/kokusai/index.htm

 IE4.02でもちゃんと動くかなあ・・・



 下のふるさと国際倶楽部の画像が消えてしまう件ですが、解決できそうです。相対パスではなく絶対パスで指定するとOKというメールをいただきました。どうもありがとうございます。その他Win+IE4.01でレポートしてくれた方々どうもありがとうございました。いずれも同じ症状なのでWin+IE4.01特有の現象のようです。
 あと、リファレンスの説明でlogの解説が違う、という指摘を受けました。調べたら確かに間違ってました。リファレンスおよび本の訂正、サンプルを修正しておきました。どうも報告ありがとうございましたm(_ _)m
 他にもお気づきの点や文句があったら、気兼ねせずにメールください(^-^)/



 もし、WIn95 + IE4.0xの方で時間がある方は下記ページをアクセスし「歴史」などを選択してください。下のページの一番下に表示されているページ番号をクリックするとIE4.0xでは上のフレームのボタンが消えてしまうようなのです。自分の所Win95+IE4.02では再現しないので(エラー表示になる)、もしチェックしていただけるのであれば、ブラウザバージョンをIE4.01かIE4.02か書いてopenspc@po.shiojiri.ne.jpまでメールしていただけると幸いです。

http://www.tcu.or.jp/kokusai/index.htm

 Mac版のNetscape 3.0xでフレーム間のデータの受け渡しを行うスクリプトですが日本語を入力した場合、正常に動作しない場合があります。どうもnullとして処理されてしまうようです。もちろん正常に動作する場合もあります。試した限りでは文字列中に半角の文字が存在すれば文字として認識されデータが受け渡されるようです。手軽なのは一番最後に半角のスペースを入れるといった方法かなあと思います。

 明後日あたり配列を使った珍しい関数呼び出し方法についてかこうかなと思ってます。もっともCyber Studioの受け売り(笑)ですがf(^^b
 また、今まで扱えないと思っていた多次元配列もできるようですので、これについても解説したいと思います。多次元配列ができればデータベース処理などかなり楽になります(^^)



 新しい本出回り始めました。「DynamicHTMLでつくるホームページ」という本です。という事で凝りたい人は是非どうぞ。ごたくを並べた本ではなくてサンプルが主の本です。
 Win95+NS3.0xでdocument.writeを<BODY>〜</BODY>内に記述した時、1度目は正しく表示されますが、ウィンドウをリサイズすると表示する段階で特権違反で落ちてしまうようです。document.writelnでも落ちるので困ったものです・・・

 面白いページを発見。ナイス慶応

http://www.sfc.keio.ac.jp/~s97188ho/index.frame.html



 ライブラリにサブウィンドウに表示された画像のサイズ(縦、横幅)を自動的に読みとって、その画像サイズにウィンドウサイズを合わせる、というスクリプトを用意しました。最初、なかなかうまくいかなくて困った事もありました。仕方がないのでNS4.0x用になっています。NS2,3,4とウィンドウのリサイズ設定がオフの時の動作が違うので、なんとも・・・



 ライブラリにイベント取得のサンプルを追加しておきました。ただ、それだけですf(^^b



 暫定版ですが、Adobe Acrobat用のJavaScriptのページを作成しました。ほとんど別物ですし書き方なども異なるので今後AcrobatのJavaScriptは、このページでは補足程度とし、専用のページにて展開していきたいと思います。AcrobatのJavaScript暫定版ページはこちらです。
 とりあえずMac版で検証していますが、Win95版もインストール後チェックしたいと思います。Acrobat のJavaScriptは1からやらないと駄目みたい。果たしてJavaScriptと呼んでいいものか、どうか困ってしまいますf(^^b



 5月上旬に技術評論社から「DynamicHTMLで始めるホームページデザイン」という本が出ます(^^)/ といっても私がやったのはCD-ROMと監修のみです。監修というのは初めてやったけど、何もしなかったような気も(笑) この本に収録される「HTMLリファレンス」は一足先に公開しました。さらにBASIC命令一覧のページも公開しましたので、よろしく(^^)/



 どうもAcrobatのJavaScriptは、動作に差違があるみたい。また、忙しくなってきてAcrobat最新版をインストールしていないので実験もしていなかったりしますf(^^;
 信州の諏訪では日本三大奇祭の一つである「御柱祭」が行われています。7年に一度の祭りで、長野冬季オリンピックでも少しだけ見ることができたのでご存じの方もいるかと思います。この御柱祭毎回死人けが人が出るんだけど実際の所「怨柱祭」といった方がいいのかも・・・。全国放送のテレビで流されるのは、ごく一部ですが実際は大量のもみの木が、市中ひきまわしされます(笑)。御柱祭は、あらかじめ根回しをしておかないと、国会議員でも怒鳴られ散々な目にあう事も(笑) もちろん報道関係も同じなので実際の所、簡単にビデオを撮ることが出来ないという事情もあります(ケチがつくともちろん配布もできない)。そんなわけで(?)御柱祭のビデオ(全三巻)に関与したので、よかったら買って下さい(^^)/





 Adobe Acrobatが3.0から3.0a(J)になりJavaScriptが実装されました。とりあえず簡易/暫定的なリファレンスを作成してみました。結構不備がありますので、あらかじめご了承下さい。実験しようと思ったけど、やはり3.0Jのプラグインではエラーになってしまいます。それよりも自己完結でブラウザとのやりとりができなかったら嫌ですが(^^;
 PDF, Acrobat PlugInとブラウザを組み合わせた「CD-ROMカタログ」を制作しました。企業向けというか、仕事で作成したものです。現在プレス中ですので、完成したら請求先の会社名等を載せておきます。ブラウザとPDFを組み合わせて利用したい方には多少参考になるのではないかと思います。ページ数としては約400頁程あります。手元にCD-ROMが来たら制作裏話でも書こうと思います。結構トラブルも多くて難儀した部分もあります。もっともトラブルの9割はMacintoshのみでWindowsでは、ほとんどありませんでした。対象としているブラウザはNetscape 3.0/4.0,Explorer 4.0です。Netscape 2.0, Explorer 3.0でもブラウズできますがファイルのダウンロードができません。ま、そのうち書きますのでお楽しみに、という事で。

 あと、4月下旬頃にダイナミックHTMLの本が技術評論社から出ます。OpenSpaceのメンバーが執筆しています。私はCD-ROM部分だけ関わっているくらいで、結構傍観者状態です(笑)。そうそう、Future BASIC IIでGO!もよろしく(まだ、発売されてません^^b)。このFB本は、無茶苦茶発行部数が少ないのと、よほどの事がない限り増刷されません。どうしても欲しい方は本屋さんにでも注文してください。ISBNブックコードはこちらのページに書いてあります。



 やっと2冊の本の仕事が終わりました。1冊は「今すぐ始めるJavaScript改訂版」です。これは3月31日発売です。
 もう1冊はMacintosh用のプログラミング書で「今日からマックプログラマー Future BASIC IIでGO!!」です。Future BASICの本が出るのは、ほとんど奇跡です(^^; 収録内容についてはこちらのページを参照して下さい。MZ関係のプログラムも、なぜか入っています(^^; ゲームプログラムについても、ちゃんと解説してありますのでゲームを作りたい人には多少の参考になるでしょう。



 3月いっぱいは忙しいので、なかなか質問に答えられなくてすみません。JavaScriptについて質問できる所はWeb Seminar高橋登史朗さんのJavaScriptページがあります。双方とも掲示板がありますので、急ぎの方や広く意見を集めたい方は利用すると良いでしょう。




 下の文章でDate()が正常に取得できないという点ですが、正常に取得できているというメールをいただきました。テストした環境はKT7.5.3r2ですが、この環境で正常に動作する、しないという場合があるようです。ここらへんについての情報(MacOS8での動作等)がありましたら、メールをください。単純にマシン構成と動作状況(ライブラリの動作状況やリファレンスのサンプルの動作状況でもOKです)を書いてメールしてもらえばOKです。
 皆さんからの情報をお待ちしています。
 あと、ライブラリにデータベース検索スクリプトやダイナミックHTMLを利用仕掛け(笑)のサンプルも追加してあります。



 ライブラリの動作表示をNS2,3,4,IE3,4までチェックし一覧で見れるようにしました。ただし、最近出たMac版IE4についてはWin版とは大きく異なるため動作状況を別ページに用意しました。
 Mac版のIE4は登場したばかりですが、誰もβ版の時に動作チェックをしなかったのでしょうか? それとも、おまけみたいなものなんでしょうか? 動作チェックをしていてWin版は問題なく動くものがほとんどですが、Mac版はかなり悲惨な状態です。状況については別ページを参照してもらうとして、全命令をチェックしたらもっと悲惨な状態になる事間違いなしでしょう。
 まず致命的なのが正しい「日付、時刻」が得られないという点です。ゲームもおかげでタイムアタックするものは全滅です。挨拶文などの表示も駄目です。
 次にonMouseOverの処理をスレッドで行っているせいか、文字の上にマウスを重ねると大量にダイアログが表示されてしまいます。もっとも一定数表示したら、それ以上は表示しない感じですが。onMouseOverに限らずonAbortの動作も以上です。onResetもNetscapeと異なる動作をします。推測ですがDynamicHTMLで利用するイベント関係は、怪しいと考えられます。
 IE3からの致命的なものは「文字処理関数の仕様の違い」ですが、致命的なのはWin版とも動作が異なるという点です。日本語は2バイトコードですが、Mac+IE4ではなぜか2バイトコード1文字に対して3文字という値を返してきます。文字化けも甚だしい・・・。ちなみにWin版ではシンプルなものは正常動作しますが、ライブラリの日本語処理関数は全て特権違反で落ちてしまい処理できません。
 ここまでは、まあ笑って許すかごまかせますが「フレームに関する動作が異常」です。こちらはIE4全体の処理がおかしくなってしまいます。まず「フレームの場所を間違える」という信じられないバグがあります。最初のフレームのはずが「トップフレーム」と勘違いされて最初のフレーム(フレーム内フレーム)ではなくトップフレームを書き換えてくれます(笑) これは困る。そればかりかフレームの内容を表示しスクロールさせようとするとメインフレームに、スクロールするフレームのスクロールバーが表示(おまけに動く)されてしまいます。
 とりあえず、実害のあるものは、こんな所でしょうか。細かい部分では大量にあるでしょう。多分、すぐにバグフィックスされて次のバージョンが出るでしょう。



 MM Flashのライブコネクト関係のページをリンクさせていただきましたm(_ _)m。Flashについては、こちらのページを参考にして下さい。

 リンク先を追加しました。それだけですf(^^;;;;

 ポケットリファレンスで記述しているwindowプロパティのpersonalbarなど一部正しく機能しないものがあります。また、かなり命令が増えている&ウィンドウメソッド等のオプションがかなり追加されています。が、年末まで追加する時間がありません。12月中は、このページもほとんどメンテナンスできませんので、あらかじめご了承下さいm(_ _)m

 ライブラリに各種プラグインチェックスクリプトと起動時にランダムにBGMを演奏するスクリプトを追加しました。JavaScript Pocket Referenceで使用しているプラグインチェックの方法ですが、先日Netscape 3.0で試したところエラーになります。調べてみたところ、Netscape 3.0ではif文などの条件文でfalse,trueとチェックを行う場合「変数の型が一致していない」とエラーになってしまうようです。これに対してNetscape 4.0では「型は関係なく判定」してしまいます。まさか、こんな所がバージョンアップによって変更されたとは思わなかったので、全然気づきませんでした・・・。2.0 → 3.0の時は「型チェックが厳密になった」というのは、どこかに書いてあったのでわかったのですが、また元(NS2.0)に戻ってしまったのかな??


 Netscape 4.0のレイヤー機能を利用して任意色から任意色へのグラデーションを描画するスクリプトを作成しました。ライブラリに用意してありますのでご利用下さい。NS3.0等のブラウザで実行してもエラーにはなりません(当然グラデーションは描かれませんが)。Live Connect関係の整備が遅れていてすみませんm(_ _)m


 JavaScriptを利用した珍しい使い方をしたページを見よう! 13インチモニタではつらい部分もありますが、一見の価値はあるでしょう。


 Explorer 4.0ではescape()の戻り値(文字列)はUnicode(ユニコード)エスケープシーケンスを返すとの事です。また1つのドキュメント内に複数の文字コードを書き出すとエラーとなってしまうようです。リファレンスでreload()メソッドがExplorer 3で使用できると記述されていますが、動作しません。こちらのミスです。これらは、2人の方からメールをいただきました。どうもありがとうございました。


 CGやマンガをネット上で公開している人にとって便利だと思うスクリプトを作成してみました。ライブラリの「画像」のマンガスクリプトというものです。連番画像を用意しておくだけで自動的に画像をページ上に表示してくれます。結構便利です(^^)
 一応こちらのページにマンガスクリプトを使用したサンプルを用意しました。





 最新版のInternet Explorer 4.0上でのJavaScriptの動作状況を用意しました。一応JavaScriptが動作するNetscape 2,3,4, Explorer 3,4で動作するかどうかを一覧にしてあります。まだ完全にチェックしたわけではありませんのでミスがある可能性があります。その場合は、すみませんがメールをください。よろしくお願いします。
 ちょっといじった感じでは結構多くの命令が動作します。が、私のページのリファレンスにあるNetscape 4.0で追加された命令のonresizeのサンプルは動かさないで下さい。なんとハングアップしてしまいます。他のマシンでもハングアップするかわかりませんが、もしハングアップしない機種がありましたらメールをください。
 ハングアップといっても、そのウィンドウのみです。私のマシンではタスクバーにマウスがいかなくなってしまうという妙な状況に陥ってしまってまいりました・・・

 Cookieファイルおよび、そのセキュリティに関してのページを用意しました。最近JavaScriptとJavaが動作しないようにする動きがありますが、それならVBScriptも動作しないように(使わないように)しないといけないと思うのですが。そこまで使われていないせいでしょうか。また、JavaScriptのどの命令が実際にセキュリティ(プライバシーに関わるデータ送信)に関係するのかも記述しておきましたので参考にして下さい。ただ最新版のMacromedia Director 6は入手していませんのでセキュリティチェックは行えません(^^; 誰かお願いしたいところですけど・・・


 Netscape 4.01と4.03では結構JavaScriptの動作速度が異なるようです。UNIXはかなり低速になったみたいですが・・・。Macも動作速度を計測(森山氏のページにあります)するとイメージの処理などで、かなり差が出ます。また4.03はおかしな動作をする(バグ?)事があるようです。詳しくはhttp://www.math.metro-u.ac.jp/~ssugiura/strange/を参照してください。
 IE4.0上でのJavaScriptの動作チェックは来週あたりにでもやろうかと思っています。とりあえずDOS/Vマシンを買ってこなければ(^^;

 やっぱりUNIX + NS4.03でview source(ソース表示)を行った場合、ページ構築後の内部で作成されたページデータが表示されJavaScriptを使用して構築したページのソースは正常に表示されませんf(-.-b なんかバグばかり増えますねぇ・・・
 JavaScriptポケットリファレンスで、またまたミスがありました(-.-bbb 半分はNetscape 3.0のバグ(といって逃げる^^b)。カラーコードを生成して.toString(16)を使用した場合、a0なる部分が:0となってしまいます。どうもaが:となってしまうようです。Mac + NS3.01, Win95 + NS3.01/2で発生しますWin95/NT+NS3.03では正常なようです。さすがにNetscape 4.01では直っていました。またNetscape 4.02以降clearTimeout,setTimeoutの実装が変わったのか従来の方法では動作しなくなっています。タイマー変数を使用する場合、timerID = setTimeout("",1)のように指定してください。timerID = nullという方法は使えなくなりました。

 Win+NS3.01ではreplace,matchはインプリメントされていないようです。という事でWinはNS4.01以降のみ使用できます。WinとMac,UNIXでは数値演算のMath.floorで無限大等の数値範囲になった場合結果が異なるようです。この場合Winではエラーになりませんが、Mac, UNIXではエラーになります。Netscape 4.01で発生しますが、多分他のバージョンでも発生するはずです(未確認)。
 トップページへのリンクをすっかり忘れていました(笑)。これじゃあ、トップページに戻れないですねf(^^b
 JavaScript GAMEのライセンスに新しいページが追加されました。ちょっとインパクトあるページです(^^)


 Win + NS4でview source(ソース表示)を行った場合、ページ構築後の内部で作成されたページデータが表示されJavaScriptを使用して構築したページのソースは正常に表示されません。これはMac + NS3でも同様の現象が発生します。正しいソースリストを得るにはファイルメニューから保存を選択しファイルとして保存してください。
 テーブル内にJavaScriptを記述した場合テーブル構築前にJavaScriptによるページ構築が終了しない場合、JavaScriptのソースリストが表示されてしまいます。テーブル内には、処理速度が低下するスクリプトは書かないようにしましょう。特に画像の縦横のサイズを指定していない場合ページ構築に時間がかかるため、このような現象が発生する場合があります。
 Mac + IE3でJava/JavaScriptが正常に機能しない場合がありますが、Mac版のJavaScriptは、正常に動作しない場合が多々あります。またMac版はIE3.01からJavaScriptを装備しており、それより前のIE3ではサポートされていません。
 以上ですが、これはこのページを使用されている方またはJavaScript Pocket Referenceを購入していただいた方からいただいた情報です。どうもありがとうございます。あと、リファレンスで一部リンクエラーがありました。これは修正しておきました(これもメールをいただきました)。

 どうもWin + NS3.0xではmatch(),replace()は正常に動作しない(インプリメントされていない)みたいです。う〜ん、残念。S4.0xではちゃんと動きます(^^;



 各種エミュレーターページへのリンクページを作成しました。エミュレーターについてのご意見等ありましたらこちらまでお願いします。エミュレーターページはこちらから入れます。

 スタイルシートの属性一覧を作成しました。IE/NS4両方でちゃんと動作するスタイルシート設定を書くのは面倒な気がしますが・・・。なかなか、うまく表示してくれないので(-.-b

 レイヤー機能を使って「雪を降らせるスクリプト」を作ってみました。いや〜完全に時期はずれですね(笑)。ライブラリに登録しておきましたので、気に入ったらお使い下さいm(_ _)m

 リファレンスとライブラリとは別にライセンスされているJavaScriptゲームを個別にダウンロードできるようになりました。とりあえずStuffItのみ用意してありますが、近々LHa圧縮したものも用意する予定です。こちらのダウンロードページからダウンロードできます。

 次々と発見される(笑)JavaScript Pocket Referenceの誤字脱字、ミス(^^; またまた、ちょっと修正頁に追加しておきましたので、すみませんが訂正をお願いします。杉浦さんが「源平討魔伝」らしきものを作ったそうです。NS4.0のみで動作します(^^)。次はM氏のOut Runかな。結構高速に動きますよ。期待大ですね。

 The BASICの件はThe BASIC編集部より回答および謝罪文をいただきました。こちらのページの最後に掲載してあります。


 なんとか引っ越し開始です。他にも大量に移動させないといけないものが山のよう・・・。とりあえず最新版のNetscape 4.0b3(一部動作しないので入れない命令が3つほどありますが)対応のリファレンスを用意しました。多分1997/5/22現在、日本で最強のリファレンス・・・のはずですがf(^^;
 まだ、変な所があるかもしれません。変な所があったらメールをください。




 まずはレイヤーを利用したスクリプト第一弾です。簡単なテロッパー/スクローラーを作ってみました。自由に表示位置を指定できるので非常に便利です。
 ところが、どうもMac+NS4にはバグがあるようで、点滅文字を使うと、とんでもない事に文字がスクロールせずに、最初に表示された所で点滅してしまいます(笑)。他にもバグがたくさんありそ〜。しかし、このバグがMac版だけのものかどうかが、ちょっと不明です。
 サンプルは旧ライブラリに用意してあります。Win, UNIXで動作確認でき次第、新ライブラリに移動させたいと思います。





 杉浦さんがレイヤーについて調べてくれました。こちらのページを参照してください。ただしUNIXです。Macの場合、Win95,UNIXでは起こり得ない現象もいくつか発生します。今の所scroll()とレイヤーの同時移動はかなり危険で私のマシンではほぼ99%落ちます。またsetTimeoutを使用していてもアプリケーションを切り替えると、停止(無効)してしまいます。プロキシーの設定もできません。それにしても、Win95からのリリースからの期間が長すぎます(泣)。




 Java Applet <->JavaScriptのライブコネクトを利用してキー入力対応版パラシュー豚を作成してみました。スタートしたら一度アプレット上でクリックしないとキー入力ができません(Mac版)。アプレットは虎菊氏に作成していただきました。どうもありがとうございます。
 やっとNetscape 4.0を入れました。しかし、不安定で落ちます、落ちます。とりあえずレイヤー機能を実験中なので、しばらくゲームはお休みさせてもらいレイヤー機能を使ったサンプルを作成する予定です。



 JavaScript Game第22弾は、簡単な籏取りゲームです。ちゃんとF籏(古籏)もあります(笑)。こういうのを見ると昔懐かしいナムコのゲームに出てきた「スペシャルフラッグ」を思い出します。今のナムコのゲームには出てこないのかな。
 Mac/UNIXもついにNetscape Navigator 4.0b2が出ました。早速ダウンロードしたけど、まだ未解凍。NS4用のゲームもやってみましたが、いや〜全然次元が違いますね。今までできなかった重ね合わせ制御が簡単にできるみたいで(と書きつつ仕様書を見ていない^^b)。これで、またゲームのネタが増える・・・か? 次はライブコネクトを使ったゲームです。






 そろそろ、おしまいかな、という事でJavaScript GAME第21弾は「ハラッパデラッパー」。見て字のごとく読んで字のごとく、プレイステーションの某ゲームですね。次はファイナルファンタジーキブンとかいいかもf(^^b



 ついに20弾にもなってしまいました。今回はハードディスクの苦労を思い知ってもらおうという事で作ってみました。あんまりハードディスクを頻繁にアクセスするとハードディスクの寿命が短くなります。昔はハードディスクなんて贅沢なものはワークステーションくらいしかついていなかったのになあf(^^b 
 次回作は作っていないので、このままキリのよい20弾でおしまいにしようかな。



 JavaScript GAME 19弾は9枚のパネルを素早く全部5にするだけです。名付けて「Let's 5」(ええ加減な名前だ〜)。
 JavaScriptとは関係ありませんが、Macでゲーム作成中です。もっともゲームを素早く作れるアプリといった方がいいかな。で、DayStarのマシンのようなデュアルプロセッサーマシンを持った人がまわりにいないので、もしデュアルプロセッサーマシンをお持ちで、なおかつβ版をテストする度胸のある方はメールをください。
 と書いても、実際はメールとか来ないんですよね〜。7100/8100/8500/9500とかだと、持っている人は多いんだけどなあ・・・。マックでシューティングゲーム作って売れるんだろうかf(^^b。



 JavaScriptゲーム集のディスクサービスを始めました。これで、今まで回線が遅くて画像が正常に読み込めなかったり、遅くていらいらしたりする事はなくなります。もっとも、無料でというわけにはいかないので、すみませんが1500円負担していただきます。詳しくはこちらを参照してください。





 やっと自分の本を近所の本屋で発見。でも1冊だけ。まあ、そんなものかな〜。
さて、ついに出ましたJavaScript GAME第14弾「炎のコマ」。この名前を聞いて分かる世代は20代後半〜30代前半でしょう(多分)。ずばりあのままですので、マウスを使って炎のコマを再現してください。慣れると簡単に炎のコマが使える用になります。が、他のゲームがうまくなるわけではありませんので、しからず(^^;
 今日が今年最後のページ更新です。今年はJavaScript本の発行やホームページの制作など、いろいろありました。来年に向けて別ネタも進行中(power Mac User Only)。
 それでは、皆さん、よいお年を。



 「今すぐ始めるJavaScript」が、こっち(長野県)で売ってない(笑)。どこの本屋に行ってもないんだよな〜。う〜ん、まだ入荷しないのか。それとも無視されたか(笑)。
 それにしてもJavaScriptの本が多くなりました。半年前の情報がなくて困っていた人たちには非常によいと思います。が、ほとんどがWin95を基本にしているためMacでうまく動作しなかったり、危険なコードが入っている場合があります。初期の本はUNIXがベースだし・・・。元がMacでというのは私のだけかもしれないですね。Live 3d(VRML)とかLive Audioなどを扱いたい人は、TAO FORUMから出ている「これならできるJavaScript」がよいでしょう。



 JavaScript GAME第13弾はグリーンハウスです。ゲームウォッチのグリーンハウスとは全く関係ありません(^^;
 結構仲間内では面白いと言われたゲームです。窓は塗らないようにしましょう。あっという間にゲームオーバーになってしまいます。次なるゲームは懐かしいゲームセンターあらし養成ゲーム(笑)です。その次はまだ作っていないのでなんとも不明です。

 Netscape 4.0b1 (Win)が出たようですが、画像を扱っている部分でエラーになるようです。なんか画像の参照番号が1つずれたようで0番の指定が駄目みたいです。まあ、ここのゲームは現在の所壊滅(泣)という事になります。対策はすでにあるのですがMac版は出ていないし、もしかしてWin特有かも4β版だからという事も考えられます。3.0の時もbgColorとか最後になって変更されたりして、とりあえず謎です。



 JavaScript GAME第12弾は、電撃イライラ棒らしきものです(^^;
これもクリックせずにうまくマウスを操って指定された道路をたどるだけです。道を外してもゲームオーバーにはならずに減点されるだけです。
 ちなみに第14弾は懐かしい炎のコマを練習できるゲームです(笑)。そろそろ、また新しく作っておかないと来年のJavaScript GAMEがなくなってしまうなあ〜。

 あとJavaScript FAQ (よくある質問と回答)も用意しました。参考になれば幸いです。



 来週の月曜日頃にJavaScript本(上のヤツです^^;)が発売されます。
価格は1800円、インプレス発行です。色が赤いのでわかりやすいかもしれません。ここのライブラリにあるものは、ほとんど収録されています。powerMacとかがなかったのでVRMLとかには手を付けていません。他のJavaScript関連のものと趣向が違うので、きちんと勉強したいという人には、まっとうなJavaScript本を購入する事をおすすめします(笑)。もっとも言語を勉強したからといって、まっとうなプログラムが組めるとは限りません(^^;
 まあ、お値段が1800円と手頃なので買っておくと便利でしょう(といって販促する^^;)。
共著の方(松尾さん)のホームページは、以下のアドレスにあります。またインプレスの方にも掲載されているスクリプトが用意されています。

 松尾さん:http://www.netlines.com/js/jscript.html
インプレス:http://home.impress.co.jp/books/javascript/js.html



 JavaScriptゲーム第11弾は素早くパネルを回転させるゲームです。なるべく高速なマシンでプレイしてください。今までのJavaScript GAMEの中では一番壮快感があるかな、と思いますが(^^;
 JavaScriptを使ったゲームもだいぶ増えてきました。が、機種に依存しないはずのJavaScriptがしっかり機種依存してしまう所があります。特に互換性のありそうなGIF画像ですが、Mac版だけ透過GIFを使用した場合以前に表示されていた画像を消さずにそのまま合成して書いてしまいます。
 またGIFアニメーションもMac版ではうまくGIFアニメにならずに壊れた画像になってしまう場合があります。
 他にもまだいろいろとありそうですが、再来週頃にはJavaScript FAQもできあがってアップロードできると思います。



 プラグインチェッカーを作りました。簡単に(プラグインの名前を指定するだけで)プラグインがあるかどうかわかります。なければ警告するというサンプルになっています。ただし、Netscape 2、Explorer 3では動作しませんのでバージョンチェックと組み合わせたほうがいいでしょう。新Libraryの方には、これはまだ登録されていません。月曜日にでも登録しようと思っています。
 New LibraryにNS2,NS3だけでなくIE3でも動作するかどうかわかるようにしました。かなり便利になっていると思います。
 来年になったらFuture BASIC IIのライブラリも作ろうと思っています(^^)。



 JavaScriptのサンプルとゲームがたくさんあるページを紹介しましょう。

http://www.bekkoame.or.jp/~nhiro/

にあります。Macだけ透過GIF画像の扱いが異なるため、表示画面にゴミが残ってしまいますが、そのうち修正されると思います。

 サターンBASICは来年3月みたいだそうで・・・。それまでは、JavaScriptでゲームを作るしかないみたい(^^; JavaScript GAME 第10弾以降は「マウスでクリック」から「マウスでこする」という具合になっています。10弾以降タイムアタック重視のものが多くなります。こする方が結構燃えるかも(机が燃えるわけじゃないけど^^;)



 JavaScript GAME第10弾!です。ついに2桁になってしまった・・・。この調子で3桁なんてのは、ありません(笑)。そんなにアイデアと気力が続くはずがない(^^;
 100回とすると3年もかかってしまうので、また状況が変わってしまっているでしょう。JavaScriptとDirector (Shockwave)とFuture BASICとMZ-2861のBASIC-M28 (or SATURN BASIC)で同じゲームを作るのも面白いかも。サターンBASICが出たら、さっさと購入してプログラムしようと思っています・・・しかし資金がなかった・・・。あれって結局キーボードがないと難しい部分もあるし。おまけにDOS/VマシンなんてないのでMacで自作転送ソフトを作らないといけないと予測しています。単にテキストのベタ転送だと思うので、Future BASICでちょちょいのちょいと作ってしまう予定です。
 サターンBASICが出たら今度はサターンBASICでいろいろとゲームを作ろうと画策しています。ところでいつ発売なんでしょう? 御存知の方がいましたら教えて下さいm(_ _)m


 12月になったので、JavaScript Library新装開店です。今度は塩尻インターネットの方に引っ越しました。こっちの方が今までよりも多分高速になります(塩尻インターネットは12月9日深夜〜12月11日までは回線工事のためつながりません)。
 今まで多くのライブラリを用意してありましたが、今回はNetscape 2.0, 3.0で使用可能かどうか、WebParts JavaScript集に収録されているかどうかを一目で見て分かるようにしました。そのうちIE3で動作可能かどうかもチェックして追加する予定です。

 WebParts JavaScript集ですが、12月10日以降、代金引換郵便にする予定でいます。これならば、銀行とか郵便局に出かけて振り込んでもらわなくてもいいので楽だと思います。郵便局でいくらか手数料を取るので、今の特別定価2000円より少し値段があがります。一応2300円くらいの予定です。



 JavaScript GAME第9弾! 亀の橋を渡って荷物を届けるというゲームですが、わかる人にはわかると思いますが、まあ昔こんなようなゲームがあったんですよ。ゲーム&ウォッチのゲームで多分初めて9999カンスト(カウントストップ:本当はストップしないけど^^;)ゲームであったタートルブリッジです。
 私のJavaScript GAMEでよく豚が主役に出てきますが、特に深い意味はありません。最初に出したキャラクタが豚だったというだけです。他にも亀さんとか出てきます、次の第10弾は亀さんが主役です(^^;
 先週第9弾でおしまい、と書きましたが、なぜか第10弾も用意しちゃってあります。1ヶ月は約4週ですから2ヶ月間毎週JavaScript GAMEをリリースという事かな。一体いつまで続くのか? ただ、来年の1月末日でプロバイダとの契約が切れてしまうので、いきなりページ自体がなくなってしまう可能性もあります。実はお金がないのでページ消滅の可能性は高いと考えてください。引っ越し先ですが、引っ越せる所がありません(笑)。要するに容量不足なんです。塩尻&岐阜では5MB Maxなので、とても入りきらない・・・。ちなみに現在50MB確保してあるんですが(^^;
 まあ、来年の1月までにお金が入ればいいんだけど、入金の予定はない(笑)。
という事で来年一月末日で消滅の可能性もあるという事で、よろしくお願いします。当然メールアドレスもなくなってしまいます。一応塩尻インターネットにアカウントがありますが。こちらは消去されないので、駄目だった場合はそちらの方にメールしてもらうしかないですね(^^;;;



 WebParts JavaScript集でいくつか機種によって不都合が発生しているようです。現在判明しているものと、わかっている対処方法を書いておきます。

clock.htm
MS-DOSでCLOCKというファイル名が予約語になっているためコピーできない。→名前を変更してください。

3fmain.htm
ソフトベンダーTAKERUで販売しているvol.5の中に収録されていますが、Win95では画像がスクロールしません。以下のように修正して下さい。Mac, Win95で動作が異なるようです。このライブラリにあるものも同様の現象が発生しています。ライブラリにあるものは12/10に修正登録します。


<HTML<HEAD>
<TITLEMultiple Frame Test Main</TITLE>
</HEAD>
<FRAMESET ROWS="64,*">
<FRAME SRC="3fmsg.htm" name="No1" SCROLLING="yes" NORESIZE>
<FRAME SRC="3fscrl.htm" name="No2">
</FRAMESET>
</HTML>

*ちなみに、どこがいけないかというとSCROLLING="yes"の部分で、これをnoにするとWin95では動かなくなってしまいます。
 問題となっている命令はscroll(x,y)でMacはどんな座標でも表示可能ですがWin95では表示されている範囲以内でしかスクロールできないために発生するものです。



 あっという間に第8弾の登場。一応第9弾まででJavaScriptゲームを1週間ごと公開するのはおしまいの予定です。というのは、現在ライブラリの大幅整備を行っているためゲームを作成する時間がありません。なんせライブラリの数がハンパじゃない上に最新の情報に合わせて書き直し、説明、プログラムのデバッグ、改良をしているためです。とりあえず、1日10ページほど進むといった感じです。今度はNS2,3対応なども一目で見て分かるようにします。

 JavaScript本の発行が12/10より遅れそうです。申し訳ありません。なんか先に4.0が出てしまいそうだなあ(^^; 一応年内発売のはずです。

 ふとカウンタを見たら、もう3万超えているんですね。どうもアクセスありがとうございます。これからも、よろしくお願いします(^-^)/



 今回は数当てゲームに似ているゲームです。視力検査そのものという話もありますが、まあ遊んでやってください。たまには、シンプルな・・・と毎回書いているような気が(^^;
 あと、ネオンサインのスクリプトも追加してありますので、お使い下さい。12月10日までに、ライブラリを多少整理して見やすくしようと思っています。(何回同じ事を書いたのやら^^;)



 NetscapeのホームページにあるJavaScriptの日本語訳のページがあります。最新の日本語解説が欲しいと思っている方は必見(必需品)でしょう。こちらにあります。よい手助けとなることでしょう。

 Netscape Navigator 3になって外部に用意したJavaScriptファイルを使用できるようになりました。つまり、今まではページの中に埋め込んで使っていたものを完全に切り放せるようになったという事です。
 関数が重複している場合は、後から定義したものが有効になります。また、グローバル変数とかもそのまま利用できます。
 スクローラーの外部JavaScript β版を用意しましたので、使用してみて下さい。使用方法はこちらに用意してあります。わずか1行+αで使えるので便利だと思います。また、こちらでバージョンアップすれば、使用者全員自動的にバージョンアップした事になるので便利です。
 不都合等ありましたら、すみませんが機種名とNetscapeのバージョンを記入してメールをいただけるとありがたいのですが。

 来週の月曜日に、また新たなるJavaScript Gameが登場します。さてさて、毎週1ゲームでいつまで続くのか!?



 あっと言う間にJavaScriptゲーム第6弾!の登場。その名は「パラシュー豚
 相変わらず、しょうもないネーミングですが遊んでやって下さい。
 で、実はこのゲームのカーソルキー対応版があります。マウスでクリックだと難しいのですが、キー入力にするとかなり楽になります。これは、今週の半ばにβ版としてアップロードします。Java-JavaScriptのライブコネクトを利用してJavaアプレットからキー入力だけもらってきています。効果音とかも実験中ですが、音を出すとかなり速度が低下してコマ飛び状態になってしまうので、パラシュー豚の次版には音はありません。Live Connect版は、虎菊(Java)&小川幸泰(Javascript)両氏のものです。どうも、ご協力有り難うございました。これで、JavaScriptの応用範囲が広がるというものです。
 さてさて、次は何にしようか・・・・
 すごくシンプルなヤツの方がいいのかも。


 お知らせでございます。発売日12/10頃にJavaScript本が出ます。私ともう1人の共著です。実例集のみ私が書きました。だいたい、このJavaScriptページにある事は、新しいもの(ここ1ヶ月以内)を除いて、ほとんど記述してあります。書いてない部分は、Live ConnectとVRMLやSoundScript(LiveAudio)関係です。新しい情報は、このページでという具合です。という事で、発売されたら手にとって下さい。でも、題名はいまだ未定という状況です(笑) 著者が本の題名を決められないとは思いませんでした(^^;

 さてさて、来週の月曜日に、またまた新しいJavaScriptゲームをアップロードします。もちろん、1000円払えば「改造権/アップロード権」付きです。さて、なんのゲームでしょう?
 ゲームと言えば、Magical ClickとかのゲームはJavaScript本に入るようです。ページ数の都合上入らない場合もあるかもしれませんけど。


 JavaScriptで現在、凄いと言えるゲームが以下の場所にあります。

http://www1.nisiq.net/~jimmeans/

 テトリスやスーパーマリオらしきものがあります。他にもありますが、1つを除いてNetscape 3.0の機能を利用しています。スーパーマリオらしきものは、ちゃんと横スクロールして、最後にはちゃんとお姫さまもおりまする(^^;
 JavaScriptのゲームって、どこまでできるのかな?と思っている人は是非ともアクセスしてみてください。こういうのを見ると、もっといいものを作らないといけないなあ、と思いますが、そんなに技術力はないのであった(笑)



  • ゲーム、ゲーム、JavaScript GAME
     ちょっとだけタイトル文字のグラフィックを入れました。まあ、3Kもない容量なので、このくらいなら負荷はかからないかなと思います。
     またまた、JavaScriptゲーム登場。その名は「素敵なステッ金」(-.-b
    まあ、成りゆきでついてしまったような名前なんですけどね。今までのゲームと違って、普通のゲームで使用されているバッファ型に変更しました。結構遅いマシンでも速度がでるようなので、結構大量にキャラクタが出るゲームでもいいみたいです。レインボーアイランドとかできるかも(と書いてわかる人の方が少ないか・・・)。
     次なる、第6弾のゲームは、う〜ん、これはまたまたゲーム&ウォッチネタでございます、はい。11月2日〜3日にアップロードする予定です。ライセンスのページにもステッ金を用意しました。


     JavaScriptの外部スクリプトを扱えるようにしました(設定してもらいました)。これで、今までHTMLドキュメントに埋め込んでいた長いJavaScriptが、ほとんどなくなります。呼び出し方は<SCRIPT SRC="プログラム名.js"></SCRIPT>なので非常に楽です。
     ある程度作成したら、別のライブラリを作成し、そこのアドレスを指定するだけでいろいろなJavaScriptプログラムを使用できるようになります。念のため、ここだけではなく2つミラーを用意しておく予定です。
     来週の月曜日に、また新しいゲームをアップロードしますので、お楽しみに(^-^)。
     3万アクセスまで、あと少し。ちょっと字だらけなのでグラフィックを入れようかなと思ってます。Future BASIC II-Jの部屋が一番見栄えがよかったりして(^^;

     JavaScript Gameのライセンスページを用意しました。
     私が作成したいくつかのゲームを改造して自分のページにアップロードする事ができるようになりました。詳しくはライセンスのページを読んで下さい。1ゲーム1000円でライセンスを発行しています。
     自分で1から作るのはできないけど、改造ならできるという人なら多いと思います。改造と言っても画像を変えるだけでも結構別のゲームになったり、楽しいゲームになったりする事もあります。他人のプログラムを改造しているうちに、覚えていくというのは昔のプログラマの常套手段でしたが、最近では改造するな、コピーするな、リバースエンジニアリングするな、とうるさいのですが、それだとなかなかプログラマが育たないのではないか、という気がしています。
     幸いにネットワークが普及したので、ライセンスページにも書いてあるような作者のサポートも受ける事ができるようになりました。他人のプログラムを改造するのは楽といっても人によって癖があったり、知らない常套手段やテクニックがあったりするものです。わからない部分は作者に聞くのが一番という話もあります(^^;
     ゲームをプレイしていて不満があるならば、自分で改良、改造してしまえば実はいい勉強になるのです。どうしたら、面白くなるのか、速くなるのかいろいろ勉強してください。

     またまたJavaScriptを使ったゲーム発生(笑)。
    今度はマンホールを元にしたものです。名付けて「マンションホール」。ボロマンションで床に穴が空いているので、それを塞ぐという具合。機種によって速度差があるので、こりゃ難しいと思ったらソースと画像をコピーしてソースの所のtID = setTimeout('xxxx()',100);とかなっている部分を変えて下さい。100とかの数字にして1000とかにすれば1秒間に1コマの割合で動きます。1000 = 1秒なので超高速にしたければ1とかにすればいいでしょう。でも、それだとゲームにならないですけど(^^;
     あとライセンスページは、この後用意します。ライセンス料金は1ゲームあたり1000円です。ライセンス料金を支払ってくれた方には「改造自由」「自分のホームページへのアップロード」「プログラムの改造時のアドバイス/サポート」の権利が与えられます。ただし、販売権(シェアウェア化、パソケ、コミケでの販売、雑誌のCD-ROM等の収録等)は別料金です。また、ライセンス料金を支払って改造したゲームをアップロードした場合、こちらからリンクをはらせてもらいます。詳しくは、ライセンスページを用意するまでお待ち下さい。上記の文章を箇条書きにした感じです。あと、プログラムの解説ページのアドレスも知ることが出来ます。


  • もろもろ


     Netscape Navigator 3.0用のゲーム第3弾ヴァーチャコックが登場!
     という事で、あっという間に第3弾でございますf(^^;
     今回のはネーミングからしてポリゴンネタかと思われる裏をかいて(笑)、ゲーム&ウォッチにあった「シェフ」というやつのアレンジ(っていうのか?)です。ヴァーチャファイターとかけあわせて「シェフ・リー」にしようかと思ったけどやめました(^^;
     そうそう68040/25MHz, powerPC604/132MHzでは、難易度がかなり違ってしまいます。これは速度上の問題なのでどうしようもありませんf(-.-; (あきらめてください)
     高速なマシンだとかなり難しくなってしまいますので、遊ぶときは低速なマシンでどうぞ。でも低速マシンだと異様に簡単になってしまいますが・・・

     私が作成したJavaScriptゲームに関して「ライセンス」を考えています。どのようなものかというと、規定の金額を支払えばJavaScriptゲームに関して「自分のホームページへのアップロードの権利」と「プログラムおよびグラフィックの改造権利」を与えるというものです。つまり、規定の金額を支払えば勝手に改造して自分のゲームとして自分のページにアップロードしても構わない、という具合になります。
     もし、ご意見等ありましたら、お気軽にメールくださいませ。このくらいならば、いいんじゃないか?という意見も聞きたいのでよろしくお願いします。賛成、反対、このくらいの金額ならばという意見で結構です。10日以内に検討して、このページにて発表したいと考えています。
     ご意見等お待ちしております。




  • 雑 談
     Netscape Navigator 3.0用のゲーム第2弾が登場!
     今度はMagical Click !!で使えた裏技は使用できないようになっています。難易度は割と高めかな。遊んでみればわかると思いますが、昔懐かしいゲーム&ウォッチのアレです(^^;
     上から落ちてくるスパナをよけて左側の小屋から右側の小屋まで豚を移動させればOK。そう、懐かしいゲーム&ウォッチ「ヘルメット」です。とはいってもグラフィックなどは違いますし、かなり横長にしてあります。最後の方になると鬼のような速度になります。意外と難しくて1000点もいってないf(^^;
     ソースリストも、簡単に見れますので改造するなりグラフィックを変更してみるなりしてください。面白い物ができたらメールをいただければ幸いです。
     第3弾は・・・何にしよう。まだ未定です。


     Internet Explorer 3.0とNetscape Navigator 2.0/3.0との決定的な違いを見つけてしまいました。完成版のIE3.0Jでいろいろ試したのですが、かなりエラーが多いのです。一体どこがいけないのか、ソースリストを眺めていたところ「グローバル変数」の所でひっかかってエラーになっています。つまりNetscape Navigatorではvarを付けるとローカル変数、それ以外はグローバル変数になるのですが、Internet Explorerでは関数内は全てローカル変数、それ以外はグローバル変数になっています。これでは正常に動かないのは、当たり前ですが実際の所、言語仕様としてはInternet Explorerの方が一般的だと言えます。しかしMicrosoftは、互換性をうたっているので、次のバージョンではNetscapeに合わせると思います。もしくはActive Xで独自につっぱしって、最後に反感を買うのがオチといった所でしょうか。


     毎日コミニュケーションズの雑誌に、ここのURLが載ってました。JavaScriptの解説の所でした。が、アドレスがJavaRef2.htmlになってるじゃありませんか。という事はNetscape 2.0/3.0で強引にフェードイン/フェードアウトしていた時のもの。わずか5日くらいしか使っていなかったからなあ。アドレスは存在するけど。という事で、こっちに来るようにしてあります。やはり、こういうのは一度確認のメールが欲しい所です。もっとも、そんなメジャーじゃないから、仕方がないんですけど(^^;
     QuickReferenceも残っている部分を作ってしまわねば・・・


     Magical Click!!の無茶苦茶な点数を取得する方法を教えてもらいました。ちょっと反則です〜ぅ。が、まあ体力気力の続く限り・・・いや制限時間を設ければいいんだけど機種によって速度は違うしなあ。ま、このままでいいか(^^; コツとしては「黄色」を残しておき連続して消していけばOK。黄色は1つ40点なので同じ色を10回クリックすれば40点×10倍で400点。もし、青色(10点)だけで消していくとすると40回もクリックしないといけないんです。という事で黄色を残してひたすらクリックっ!

     このページにあるWebParts JavaScriptボタンを押したのに私からのメールが届いていない人は、すみませんが私までメールをください。というのも、メールが行方不明で戻ってきてしまうのです。すみませんが、心当たりのある方はお手数ですが、メールにてお願いいたします。
     28日頃まではFuture BASICのページに力を入れるため、しばらく更新されないかもしれません。でも、気が向くとさっさと更新していたりして(^^;

  • 雑ネタ(^^;
     JavaScript実験室の小川幸泰さんが、JavaScript(Netscape 3.0)を使って、えらいものを作ってました。そのうち公開するようですが。ああいうのを見るとゲームを作りたくなってしまいます。JavaScriptでシューティングゲームとか、いいかも。しかし、どこまでできるんだろう?

     私が手がけたページです。よろしかったらこちらも見て下さいませ。どれくらいアクセスカウンタが増えるのでしょう?(^-^b

     危険な項目を1つ追加しました。楽しくJavaScript(IE , NS)を勉強して下さい(本当か?)。そのうち小川幸泰氏に負けないJavaScriptプログラムをアップロードします。(負けちゃうかも^^;)。


     173510点・・・ですか!? Magical Clickのスコアだけど、いきなり17万点とは・・・。Mac LCIIIとか遅いマシンでやったならわからない事はないけどpowerMac7500なのに、この点数とは。どうやったら、こんな点数が出せるんだろ〜。不思議だ。私にはついていけない速度(笑)なんですが(^^; もしかしてpowerMac7500でやると非常に遅いとか・・・。そんな事はないよなあ。こうなったら、次のゲームで苦しめてあげよう(笑)。
     Magical Click!!で画像(玉)が表示されない(壊れたアイコン)現象を多少回避しました。画像を表示せずに画像を読み込んでくれる方法を小川幸泰さんから教えてもらいました。これはサンプルを作成して説明したいと思います。ちょっとランキングが変動しました(^.^)

     Magical Click!!のランキングを行っています。現在の最高点は虎菊氏の50740点。にしても、どうやってこんな得点をたたき出すんだ〜???
     普通にやると2万点の壁が待っているんだけど・・・。もしかして「マジカルドロップ」がうまい人はうまいのかも(^^;
     このランキングはメールにして受け付けておりますので、ランキングして〜という方は、私あてに「得点」「名前(登録用)「機種」を書いてメールしてください。誰が50740点を抜くかといった所です。さあ、ハイスコアに挑戦だっ!
     ひたすら倍率を狙わずに消すのに専念したけど得点低かった。ある程度の倍率まで持っていって、それを繰り返した方が効率いいのかも。


     Netscape Navigator 3.0の機能を利用したゲームが登場だっ! ルールはいたってシンプルで球を消していくだけ。
     でも、このゲーム作っている最中に間抜けな(?)仕様を発見。どうも、このゲームのような画像の扱いをしてはいけないらしい。次のIE4.0で、こんな所(仕様)まで真似るのかな? でも真似ないと動かなくなってしまう・・・というよりも画像がおかしくなってしまうしな〜。まあ、マイクロソフトに適当に頑張ってくださいなとでもフォロー(笑)しておこう。

  • 雑談
     現在Future BASICの部屋を大改装中なのですが、1つだけFuture BASICに依存しない部分がありますので、ここに追加しておきます。どうしても、長いプログラムが組めない人や、私がどうやってプログラミングしているのか知りたい方は参考になると思います。

     部屋の改装中。でも、ここの部屋ではなくて自分のマシンルームなんです。マシンが10台以上入っているので使わないWin95マシンとかIRIS(動かない^^;)とかを隣の部屋に移動。改装するのにはわけがありまして、ついにめでたくpowerMac + 17inchモニタを購入しました。
     しかし、いきなりディスプレイから「バチバチッ」という音が(汗)。いきなり初期不良か!? ちゃんと使えるまでには、まだ時間がかかりそう。Netscapeも入れてないし〜。powerMac+SoftWindows上でNetscapeを動かしてJavaScriptをチェックするのも面白いかも(^^;

  • Explorer 3.0, etc.,
     Now Programmingという事で、しばらくアップデートをさぼっていました(^^; インターネットエクスプローラー3.0も、次号あたりのCD-ROMの付録になるだろうから、それまで待つ事にしようと思っています。あと、某市からNetscape 2.0を借りてきたので入れてみました。Mac版と結構差異があるのかな。ここらへんも、いろいろテストしないといけないんですが(^^; 私のページをWin95+NS2.0でアクセスすると落ちまくります。トップページはやばいかな〜と思いましたので、外してあります。また、LiveAudioもSoundScript上でなんとかするようにしたいと思います。SoundScriptに関しては、半分までドキュメントを作成したんですが、なかなか不明な(語学力がない^^;)所があって、進行状況はよくありません。が、そのうちLiveAudioの部屋に追加されるでしょう。


  • Inline Code
     こんな面白い機能があったんですねぇ。ドキュメントの最後の方にしっかり書いてありました。インラインJavaScript。タグ内にJavaScriptの計算式などが書けるんですね。結構面白い事に使えそうです。
     クイックリファレンスを一部追加(Function Object, Applet, argument)および修正しました。こういうのは、なかなかはかどらないものですね。あとJavaScript入門という本が出たようです。が、見あたらないよ〜ん。

  • インターネットエクスプローラー
     いつのまにかInternet Explorler 3が出ていたんですね(16日)。9/3あたりにダウンロードしてJavaScriptの動作テストをしてみよ〜っと。うまく動くだろうか。
     動いているアプリケーションが変わるとボリューム参照番号が変化するのか・・・ち〜っともわからなかった。Inside Mac見ると眠くなるし言語のマニュアルにはやっぱり一言も書いてない。ちゃんとパス名を渡せという事なんですね。変な事をし出すと知らない所が出てきていい勉強になるなあ。しかし、その影響かマシンの動作がおかしい(^^; 起動音がしなくなってしまった。PRAMの設定がおかしくなったのかな。モニタの色設定もフルカラーできないのにフルカラーモード(笑)。Edit 7を起動しようと思ってもOSのエラーとかなんとかで起動しない・・・。Eudra-J突如すっとぶ。Edit 7なんかも突如すっとぶ。まあ、システムいかれても予備のシステムフォルダが4つあるからいいけど(^^) [8/31]

     Mac版のフェードイン・フェードアウトは3.0になって、全然動かないのですが、小川さんからのレポートによるとUNIX (HP)では3.0でも従来のが動くみたい。という事はMac版だけか!? ここは1つ他のブラウザーでも見れるように工夫し、なおかつフェードインフェードアウトも整合性を取りたいなあ。という事でフェードインだけはちゃんと整合性を取るように作りました。JavaScriptが扱えないブラウザでもちゃんと見れます(今までスクリプトが表示されてました。またHTML Viewerなどではスクリプト内に>などがあると閉じとみなして、その後のスクリプトが表示されてしまう場合もあります)。
    どうやってちゃんとフェードインさせているかはスクリプトを見て下さいませ。ちと面倒な事をやってますので(^.^; [8/28]

     外部JavaScript呼び出しで3.0β版では、一番最後の呼び出しが無視されてしまっていましたが、正式版ではちゃんと呼び出されるようにバグフィックスしてあります。でもローカル上かサーバー上でしか動かないのかな? 実験してみないとなんともはや・・・。これがちゃんと使えれば非常に楽なんですよね。プログラムすっきりするし、トラフィックも減るかな(?) [8/28]

     ライブラリの「休日を表示する(配列使用版)」が3.0ではエラーになってしまいます。定義済みの命令を使用しているために発生するエラーです。name[〜]とある部分をnames[〜]などに変更すれば動作します。修正個所が分からない方や面倒な方のために3.0用としてアップロードしてあります。 [8/25]

    ・統計などなど
     JavaScriptの特定のページをアクセスした方々の機種別の集計をしてみました。

    UNIX:22 :14%
    Win95:51 :33%
    Win3: 4 : 2%
    WinNT: 9 : 6%
    Mac:70 :45%
    --------------
    合計:156

     とまあ、こんな具合になりました。中にFM-TOWNS+Linuxでアクセスしてきた人もいて感心してしまいました。今の所InternetExplorerでアクセスしてきた人は、いないようです。もっともサーバーを持っているわけでもないので、わかりませんが。あとNetscape GOLDでアクセスしてきた人もいましたが、片手でかぞえるほどでした。Winマシンだと3.0が結構多くてMacだと2.0の方が多いかなといった感じです。UNIXは、ほとんどがSUN OSでした。

     Netscape 2.0のバグだろうか。配列にデータを放り込んでいくと、とんちんかんな所に放り込んでくれる・・・。NS3.0でもIE3.0でも正常に動作するんだけど・・・。オブジェクトの雛形を作って云々だと手間だし。たかが配列に1バイトか2バイトの数字か文字を入れているだけなのになあ。う〜ん謎だ〜。[8/24]

     久々の会心作?かも。3.0の機能を利用したテロッパーを用意しました。Javaの電光掲示板より手軽で見栄えもいいよ〜。ライブラリの一番先頭にあります。2.0では動かないので注意してくださいね。


     ここのコメントは裏技のページに移動させています。ちょっと書き加えたりしてます(^^;
     JavaScriptのエラーと大作じゃなくて対策とJavaScript逆引きリファレンスを、きちんとしたものにしました。今度はハイパーリンクになっているので使いやすいかも(^^;
     ちょっと他の事に手を入れていたら小川幸泰さんのJavaScriptちょいと実験の方に最新の命令がたくさん載っているじゃないですか〜。やはり、ちょっとブランクがあると、駄目ですね〜。って怠けていたわけじゃなくてリファレンスとかの整備をしていたんだけど・・・。大作というか、ゲームを作って巻き返してやろ〜っと。 [8/22]


    ・雑談もろもろ FROM JavaRef Page

     Web Parts JavaScript vol.5の編集をしていたら、いや〜誤字脱字リンクミスの多いこと、多いこと。ライブラリも数が多くなってきていて、だんだんと収拾がつかなくなってきています。で、徐々にクイックリファレンスからジャンプできるものと(基礎)、応用した物を分けようと思っているのですが、いつも思うだけ(^^;
     3.0正式版も、まだ落としていないしな〜。うんうん(何を納得しているんだろ〜こういうのを妥協というのか^^;;;)[8/21]

     そろそろ3.0正式版が登場するかな? 2.0のJavaScriptだとバグや挙動不審が多々あるので、早く3.0になって欲しいな〜と思っています。でも、いろいろと調節しないと動かないものもちらほら・・・。逆に2.0で挙動不審だったものは、ちゃんと動くようです。3.0が出ても、すぐに3.01とか出そうだなあ(^.^; [96/8/19]

     Internet Explorer 3.0b2でのJavaScript動作テストを行いました。外部ウィンドウを扱うJavaScriptは、実行させない方が無難です。勝手に終了されたりハングアップ状態になります。フレームを扱うJavaScriptも避けてください。1つや2つなら構いませんが、それ以上のものになると、後々悲惨な目にあう事があります。 [96/8/16]

    ・メモリエラー
    3.0では発生しないが2.0でスクローラーを使っているとメモリエラーで停止したり、何も出てこなくなってしまう場合があります。元祖の後に、このメモリエラーを起こさないものがでたのですが、これを最高速度にして実験すると、やはりメモリエラーが発生。
     このエラー、どうも割り込みの方が速く表示処理が遅い場合に発生するようで、ある事をして高速化してやるとメモリエラーは回避できるようになります。JavaScriptには、高速化の手段があります。が、また別の機会という事で・・・

    ・雑談のまとめたもの
     逆引きJavaScript辞典を用意しました。かなり暫定版のためHTML文書ではなくただのテキストになっていますので、ご注意下さい。
     3.0b6,b7用のフェードインスクリプトを用意しました。フェードアウトは現在うまくできていません。逃げ道は考えてあるのですが・・・
     元祖JavaScriptリファレンスは削除しました。Netscape 3.0b4/b5対応版リファレンスおよびクイックリファレンスを使用して下さい。近日中に3.0b7対応版のリファレンスも用意する予定です。 [96/8/13]

     あっという間に3.0b7が出てしまいました。JavaScriptのリファレンスページもやはり書き変わっていましたが、こちらは予想通り(^^)のものでした。それにしても異様にバージョンアップが早い・・・ [96/8/14]
     クイックリファレンスを修正し一部のものについては、用例をリンクしてサンプルの頁にジャンプするようにしました。おおよそ完成したら、一番最初のリファレンスを削除し移行しようと考えています。

    ・おまけ雑談(笑)
     Libのthis.htmlのリンクがしっかり切れてました。いや〜全然気づかなかった・・・
     Netscape Navigator 3.0b6aをダウンロード、解凍。で、早速自分のページを見てみると・・・ううぅ〜処理系が変わったのか、だいぶ動作が違う。まずフェードイン、フェードアウトしなくなった。さらにスクローラーも他のページのヤツが残ったままになるという現象も・・・。まだ、他のJavaScriptの動作チェックをしていないので何ともはやですが、どうもNetscape 2.0/3.0b5/3.0b6と分けないといけないかも。ライブラリの整備も遅々として進まないし。という事で、高橋さんの「格好いいリファレンス」を参考にしてくださいませm(_ _)m

    ・GMT
     高橋さんからメールがきて時間の珍現象(下記の項目)を教えてもらいました。どうも機種ごとに違いがあるようでMac版はGMT(グリニッジ標準時)からの計算を間違ってしまっているようです。Mac版って結構バグが多いんだなあ、などと思いつつ、毎度のことか(笑)と感じてしまいますが・・・
     3.0b6だと修正されているんでしょうか???

    ・珍現象いらっしゃい(笑)
     先日あるメールが届きました。で誕生日を求めるJavaScriptを実行すると機種ごとに結果が異なってしまうとの事。Macは正常でWin95が1日、UNIXが2か3日(だったかな)ずれるとの事。でInternet Explorer 3.0b1で確認したのですが、これでも同様の現象が発生。しかし、システムの時計やローカルタイムは間違いなく正しい。という事は一体どこだ? まさか演算誤差だろうか? 486とPentiumでは結果が違うとか(笑)。とりあえず、ご報告お待ちしております。

    ・またまた命令が追加
     なんと、またまた命令が追加されてしまった。プリンタに出力してチェック中なんだけど、どうもまだ解説されていない(よく見ないと命令すら見つからない)ものもあり、まだ改訂されるらしい。にしても、これじゃあ本当にいたちごっこ(^^;
     現在確認した、さらに新しい命令は次の通り。

    javaEnabled
    onReset
    replace

     まあ、だいたい名前から想像がつくものばかり。とりあえずサンプルを作っておきましょう。それにしても、いくつ隠し命令があることやら・・・

    ・InternetExplolerで実行すると・・・
     InternetExploler3.0b-J上でJavaScriptライブラリを動作させてみました。う、動かないものが多発。とりあえず現段階で判明した感じのものを列記しておきます。参考にしてください。以外とJavaScriptなんて、まともに動かないよ、だからVisual BASIC Scriptを使いなさいというマイクロソフトの戦略だったりして(笑)。

    ・日本語表示がほぼ全て文字化け
    ・文字化け後のdocument.write文中のタグは無視される
    ・日本語(2バイトコード)が存在した時点で動作がおかしくなる
    ・乱数発生が出来る
    ・数値演算の精度が悪い
    ・配列作成オブジェクトArrayが使用できる
    ・オブジェクトの型を調べるtypeofが使用できる
    ・不明なオブジェクトの型はnullになる
    ・オブジェクトのプロトタイプが作成できる
    ・Mathオブジェクト以外for in命令でプロパティが読み出せない
    ・サブウィンドウをサポートしていない
    ・lengthで日本語の長さが正常にカウントされる(みたい)
    ・gifアニメーションの画像の上でマウスを動かしているとアニメーションしなくなるものがある
    ・ステータスバーに表示されるメッセージはハイパーリンク、アンカーが優先になる
    ・背景色変更が画面に反映されない
    ・アラートボックスで長いメッセージが表示しきれない
    ・JavaScriptが完全に解析されないとステータスバーにメッセージを書き込んでも表示されない
    ・バージョン3なのに、2が返ってくる
    ・ブラウザーの情報がバージョン以外返ってこない
    ・ラジオボタンのオン、オフが画面に反映されない。元の設定状態に戻ってしまう。
    ・String命令が使用できる
    ・改行コードの自動判別が出来ない
    ・選択メニュー関係が、ほとんど動かない
    ・click()イベントが発生できない
    ・フォーム関係のオブジェクトは正常に動作しない
    ・JavaScriptデバッガーなどは全滅

    ・次なるJavaScriptネタ
     さすがに、ここまでライブラリが増えるとネタが切れてきたように思えるかもしれないけど海外のJavaScriptを使用したページの中には15パズルやアナログ時計(2.0なんですね)があります。まだまだ、やってないネタは多いという事ですが。とりあえず8月になってFuture BASIC II-Jがきたらホームページをドラッグドロップすると好きなJavaScriptを付加してくれるようなものを作ろうと画策しています。他にもSuper JavaScript Headerとか、割とネタはありますね(^^)

    ・JavaScript&Shockwave;
     3.0b5のJavaScriptリファレンス(Netscapeのページのもの)には、ご丁寧にShockwaveプラグインが入っているかどうか確認してくれるサンプルがあります。でも、エラーで止まってしまいます。プラグインが未対応のようですねぇ。やはりコケないMacが欲しいなあ(^^; 結局MZ2861で処理(安心なんで・・・)

    ・外部ウィンドウから指定フレームの書き換え
     サブウィンドウを開いて、そこから元のウィンドウの指定フレームを書き換えるのは駄目かと思っていたら、裏技で簡単にできてしまうとの事。詳しくは半場さんのページ(リンクページにあります)を見ると良いでしょう。まだまだ、知らない技があるんだなあ・・・。

    ・SRCオプション裏技
     まともに動かないと評判のSRCオプション。ところが、うまい使い方がありました。ライブラリに用意してありますので、参考にして下さい。こりゃ楽でよござんす(^^)

    ・触れてはならないネタ
     JavaScriptでは触れてはならないネタ(笑)の1つに「プログラムの外部呼び出し」というのがあります。半場方人さんの「JavaScript作成メモ」でも、ちょこっと触れられています。ちょっとJavaScriptの外部呼び出しについて説明しましょう。
     呼び出し元のタグは次のように記述します。

     <SCRIPT SRC="test.js"></SCRIPT>

     注意する所はファイル名の拡張子(.htmlとか.txt、.gifなど.の後の文字)が.jsでないとJavaScriptとして認識されずテキストデータ等になって表示されてしまいます。
     問題はNetscape Navigator 2.0では、あるだけでまともにというか、まず動作しません。という事で多少まともに動作させるにはNetscape Navigator 3.0が必要です(現在β版ですね)。
     次なる障害はローカルディスクでは動作しても、サーバーから読み出す場合正常に動作しません。
     これだけでなく、まだ障害があります。HTMLファイルに外部スクリプト呼び出しを行った場合、行ったきり戻ってこない(泣)という現象が発生する場合があります。これは、呼び出しが1回しかない場合などに発生します。この場合は、呼び出しスクリプトを2つ以上に増やしてやれば戻ってきます。
     さらに(まだ、あるの^^)、複数の外部呼び出しを行った場合、一番最後の外部呼び出しは動作しません。同じ物を最後に置いておくか適当な物を最後で外部呼び出ししなければいけません。
     これだけの障害をクリアすれば動きます。おっと、外部呼び出し側のプログラムは<SCRIPT>とか<HTML>〜などと記述しないでください。document.write();のように、いきなりプログラムを記述します。それにしても、なんとかまともにならないものでしょうか(^^;

    ・3.0b4、画像読み込みと切替
     画像が完全に読み込まれたにも関わらず表示されない場合がある。どうも完全に読み終わる前に他のものに切り替わってしまうと完全に読み込まれても表示されなくなってしまうらしい。フラグで解消できるはず・・・(やってないので不明)

    ・3.0b4の画像書き換えと背景画像
     3.0b4では画像を切り替えることが出来るのだが、この切替画像に背景透過色を指定するとおかしくなってしまう。まあ仕方がないんだろうけど・・・

    ・3.0b4でonLoadイベントが発生しない
     これも珍現象。何を血迷ったか3.0b4でonLoadイベントが発生しない場合があります。サウンドを演奏させた場合か何かなのだろうけど。というのも2.0では正常に動作するからです。このような場合は次のようにして強引にonLoadで起動する関数を動かします(時計など)。


    <Script Language="JavaScript>
    <--
    setTimeout("kan()",1000);
    // -->
    </SCRIPT>
    <BODY> <HTML>
    こんな具合に一番最後にsetTimeout関数を書いておきます。この後に通常onLoadイベントが発生するので結果は同じです。
     それにしても2.0と3.0b4って結構動作が違うんですね・・・

    ・2.0と3.0b4での動作の違い
     質問メールの中で、変な文字(undefined)が表示されると言うのがありました。が、Netscape 2.0でやってみてもそのような文字は表示されません。おかしいなと思って3.0b4でやるとundefinedの文字が。どうも次のような場合、2.0と3.0b4では結果が異なるようです。
    document.write(kan());
    kan()は関数名です。戻り値があれば、もちろん正常に動作するはずです。これも、些細な落とし穴かもしれません。

    ・こんなエラーもあります
     Netscape NavigatorのJavaScript解析で困った現象があります。別のウィンドウをオープンさせ、そこで稼働するJavaScriptを記述します。なんとした事か<SCRIPT>タグをちゃんと認識してくれます。document.write("<SCRIPT>");という文字列なのに見事に認識されてしまって、メインのJavaScriptがエラーになってしまうというものです。これは<SCRIPT>を認識させなければよいので
    document.write("<"+"SCRIPT>);
    とすれば、正常に動作します。こんな馬鹿馬鹿しいエラーもありますので、ご注意を

    ・こんな事は現在JavaScriptでは、できません
     ヘルパーアプリケーション以外で自由にアプリケーションを起動させる事はできません。ローカルファイル(外部ファイル)にデータを書き出すことは現在できません(実験中です...)。サブウィンドウ内にメニューを開いて元のウィンドウの中身(フレーム)を書き換えることはできません(模索中だが無理がある)。2.0と3.0b4でのサブウィンドウの挙動が違います。2.0でのおかしな所は修正されているようですが、3.0b4でサブウィンドウをリサイズすると呼び出し元のウィンドウと同じ内容が表示されてしまいます。

    ・3.0b4から3.0b5になって、さらにJavaScript命令が追加
     せっかく3.0b4版のJavaScriptの解説ドキュメントを作ったら、あっという間に3.0b5版のJavaScriptが出ていた。atlasから3.0b4ではたいした変更(java-JavaScript連携)がなかったのですが、3.0b4から3.0b5では命令がいくつか追加されています。という事で現在、3.0b5版のJavaScriptの解説ドキュメントを作成しています。完成版だと、さらに追加変更されるかも・・・。せめてローカルファイルに書き出せる機能がつけばカウンタとかできて面白いんですけどねぇ。もしかしたらできるかも、と思いつつFuture BASICと連携させてと考えていますが、謎。

    ・Netscape Navigator 3.0b4/JavaScript
     6/14に3.0b4のJavaScriptのリファレンスを見に行ったら、かなり整備されてまともなものになってました。前のが実に適当(ドラフトだから仕方がないんですけど^^:)だったから、まともに見えるだけかもしれませんが。
     下のコメントのウィンドウに関連するけど、どうも2.0と3.0b4ではだいぶ処理が違うみたい。リファレンスにも、それらしき文章はあるんだけど・・・。JavaとJavaScriptの連携やってみたいんだけど、Java動かない(見れない)んだけど。Mac/Netscape3.0b4、どこをどうすれば動くんでしょうか。誰か教えてくださいm(_ _)m
    ・別ウィンドウオープン後、リサイズすると・・・
     困った?事に上記のタイトルのような事をするとNetscape Navigator 2.0と3.0では結果が違ってしまう。2.0はそのままだが、3.0では呼び出しもとのファイルを自分の所に読み込んでしまう。結局、同じ内容が表示されてしまう・・・。仕様なのか、別指定が必要なのか? とりあえずは仕様という事にしておこう。

    ・プロンプトダイアログでシステムエラー
     何を思ったかプロンプトダイアログ表示後、バスエラーで停止(Mac)してしまう。もっともnetscapeNavigator 2.xのみで3.0bではちゃんと動作する。多分プロンプトダイアログの後に普通の処理をしてはいけない(笑)のかもしれないが。まあ3.0bでは直っているからよしとしよう。

    ・背景色で塗りつぶされてしまう
     ↑というのはMac版のバグ?らしい。が、これをなんとか正常に表示できない物かと画策してみた。まず、背景の画像をGIFアニメにしてやってみたが・・・駄目。フェードイン/フェードアウトの結果からして「画面をアップデート」させなければならない、それも強制的に。バグとわかっていながら無理に解決しようとする方もおかしいのだが、JavaScriptで自分のウィンドウ内容を消去して自分自身でページ内容を作成するように変更・・・これも玉砕。はてさて、どうしたものか。
    ・フェードイン/フェードアウトの謎と解決方法
     すでにいくつかのページでフェードイン・フェードアウトが正常に行えるスクリプトがある。今までの方法だと<BODY>タグのonLoad="fadeIn()"という具合にしていたのだが、これだと文字が表示されない。いや実際は表示されている。というのもウィンドウを移動させてページを再描画させれば、きちんと文字が表示される。ここらへんの解説とかは長くなるのでライブラリのフェードイン/フェードアウトの3、4で説明してあるので参考にして欲しい。
    ・アドレスの替わりに関数指定
     <A HREF>タグのURLの設定は通常「http://〜」「ftp://〜」「mailto:」だが、ここに「JavaScript:関数名」を表記すると、その関数を呼び出し実行する。同様にウィンドウ上部のLocationの所でURLの替わりにJavaScript:関数名を入れても実行される。エラーの場合は、ダイアログが表示される。document.write等の命令を直接入力することもできるが結果はtrueが返ってくる。

    ・Netscape Navigator 2.0と3.0 (Atlas Pr2)、その1
     3.0 (Atlas Pr2)ではJavaScriptが追加拡張されている。そのため、一部動作が異なる場合がある。<A HREF="〜" onClick>の動作がまず異なる。3.0 (Atlas Pr2)だとonClickでリンク先へ飛ばない処理が可能になった。2.0では、強制的に飛んでしまうのだが。

    ・Netscape Navigator 2.0と3.0 (Atlas Pr2)、その2
     プレリリース版(評価版)のためか、2.0では正常に動作するJavaScriptであっても、いきなりエラーで停止してしまったり、Macだとバスエラー等で停止する場合もある。

    ・Netscape Navigator 2.0と3.0 (Atlas Pr2)、その3
     3.0 (Atlas Pr2)では、画像のロードが中止されたか無事に完了したか取得できる(しかし、そのフラグは3.0b5になっても動作がおかしい)。

    ・<BODY onLoad="〜">を使わずに実行させる
     タイマーやスクローラーは、<BODY onLoad="〜">で実行する関数名を設定しておくのだが、これを使わなくても<HEAD>〜</HEAD>タグ内の関数定義以外の場所でsetTimeout関数を使用すれば同様の効果が得られる。