このページは実はみなさんの質問を受け付けて技を編み出していくコーナーです(どこからでもかかってきなさいっ 笑)。これから少しずつ増やして行きますのでよろしくお願い致します(_ _)。ポストはこちら(^^)/
Q23
クリスマスまでの日数カウントダウンをページに付けたい。
ADateオブジェクトを使います。例 :
Q22
[F02]の背景色コントローラーのサブウィンドウですが、ページを抜けたときに[D14]のようにcloseしたい。
Aこれみてください。Q21
[K10]の触ると絵が変るリンクボタンでそれぞれ別の絵がかわるようにしたいんですけど。
Aこれみてください。Q20
[K10]の触ると絵が変るリンクボタンでリンク先を別フレームに出したいんですけど。
Aこれみてください。Q19
「****.js」という外部ファイルを作って実行させる際、ローカルで実行させるとうまくいくのですが、いざWEBサーバにのっけてみるとjsファイルを保存しますか??と聞かれます??どうすれば動くのですか?
Aもしあなたのサーバー(プロバイダなど)がNCSAを使っていてAddType指定をあなたが使うことを許可されているならp23のコラムにもありますが
.htaccessファイルの中に
AddType application/x-javascript .js
を記述してください。わからなければ、まずプロバイダかサーバーの管理者に聞きましょう。で、NTの場合はサーバの管理者としてログオンして, regedt32.exe で以下のレジストリを変更します。 \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet \Services\InetInfo\Parameeters\MimeMap ここに値を追加します。 値の名前: application/x-javascript,js,,0: 値の型: REG_SZ 値: (空) その後 WWW, Gopher, FTP のサービスを停止,再起動します。 参考: http://www.microsoft.com/japan/support/tdoc/doc/iis/WNJ2865.htmという処理になるそうです。
ちなみに、.js外部ファイルはNN3.0からIEは4.0から使えるようになりました。詳しくはp23を見てね。Q18
「リンクに触れたときに、ステータスバーに文字列をスクロールさせる」ことはできるのでしょうか。
A[H02]と[H01]を合体させるだけです。まずH02の<HTML>から</HEAD>までをコピーしておいて、 その下に H01の<BODY>以下をコピーしてつなげます。 次に onMouseOver=".......true"の部分を onMouseOver="scll() ; return true" と書き換えておしまい(^^) もし、 離れたときにスクロールを止めたければ onMouseOverのあとに onMouseOut="clearTimeout(timeID) ; return true" を付け加えます。サンプルはここにあります。Q17
サンプル集の[H01] 中に
*******
status='文字列'でステータスバーに'文字列'を表示します。
onMouseOver内でstatusを指定するときはreturn trueが必要です。
(NN4.0b3現在Mac版にはバグがありreturn
falseでないと表示されません^^;。おそらく、正式版までには直ると
思いますが著者のサポートページをご確認ください。)
*******
と書いてありますが現在、これはどの様な状況なのでしょうか。あと[M12]のNN4.0b3Mac版でdocument.write()が不安定の件は?
ANN4.01から直っています。他に[M12]で書いたNN4.0b3Mac版のdocument.write()での不安定さもNN4.01の時点で解消されています。Q16
触ると画像が変るスクリプト(サンプル集のKなど)はIE3.0では対応してないのですか?
A画像はImageオブジェクトを使って処理しますが、NN3.0(Mozilla3.0)からのサポートです。IE3.0はマシンとバージョンによってMozilla2.0だったり4.0だったりするため、一概にはいえません(^^;;。したがって、今の所この手のスクリプトは使えないバージョンとの分岐をMozillaの番号で行います。
NN2.0(Mozilla2.0) は対応していません。
NN3.0(Mozilla3.0) は対応しています。
NN4.0(Mozilla4.0) は対応しています。
IE3.0(Mozilla2.0) for Win は対応していません。
IE3.0(Mozilla2.0 or 4.0) for Mac はリリース時期によって対応しています。
IE4.0(Mozilla4.0) for Win は対応しています。
IE4.0(Mozilla4.0) for Mac は対応しています。
*IE2.0はscriptを使えません(使ってる人もいない。笑)
Mozillaのあと数字はnavigator.appVersion.charAt(0)で取り出すことができ、これが3以上ならこのスクリプトを使えることになります。
分岐例 : if(navigator.appVersion.charAt(0)>=3){画像処理関係の命令}Q15
G01に<FRAME>のサンプルがありますが、IEの<IFRAME>にlocation.hrefでページ読み込みしたいんですけど...。
A<IFRAME SRC="?????" NAME="iframeName" ...........
とゆー風にIFRAMEに名前を付けといてから
top.window.iframeName.location.href="loadPage.html"
という具合にその名前(iframeName)で呼んであげれば良いです。Q14
質問に対する答えの数によって処理を分岐したいんですけど...。
Aいろんな方法があるとは思いますがここに、1つ置きましたので参考にしてみてください(^^)。Q13
Q9と同じ質問なんですが、K06やK07で拡大画像の前に画像を置くと前の画像が変わってしまいます。
Aここに、何枚入れようとだいじょぶな[K07+1]を置きましたのでご利用ください(^^)。Q12
F01のメニューウインドウ内のボタンを画像にしたいのですが...
Aたとえば、WinF01.document.write(' にしてみてください(^^)
'); これを WinF01.document.write('
');Q11
枠の中をテロップが流れるスクリプトで、枠の下地を「黒」流れる文字を「緑」にしたいのですが、どうしてもできません。なにか良い方法を教えて下さい。
Aたとえば、
H02はほとんどの環境で使えますが下地と文字の色を指定することはできません。Netscape3やIE3などで流れるテロップの色を指定するにはテロップ画像を用意してGIFアニメやJavaScriptアニメ(K09やK11など)でやります。
フレームやサプウインドウへのdocument.write()とdocument.clear()を連続して行うことで実現することもできます(が、あまりスマートではない^^;;)。
IE+Winだけ(MacやUNIX+IEの組み合わせで使ってる人は皆無です^^;;)を対象にするならMARQUEEタグを使えばできます。
Netscape4だけでよければL05のレイヤー内の画像を色指定した文字に取り替えたり、レイヤー内の背景色をたとえば、
document.layers['testLayerName'].bgColor='#000000'
と指定したりすることで簡単に実現できます。Q10
K10のインタラクティブボタンをクリックしても最後の画像がちらっとしか見えないぞー。せっかく作ったんだからもっとちゃんと見せたいっ。
Afunction BTN1Click(imgNo)のなかに下記のようにsetTimeoutを記述することでリンクへとぶタイミングを1秒遅らせます。(0.5秒にしたければ1000を500にします)。function BTN1Click(imgNo){ if(navigator.appVersion.charAt(0)>=3){ document.images[imgNo].src=Img2 }; setTimeout('window.location.href=eval("Linkpage"+'+imgNo+')',1000); }; Q9K01やK02で切り替えたい画像の前に画像を置くと前に置いた画像の方が勝手に切り替わってしまいますが...。
AchangImage1(0,x)の0を、前に置きたい画像枚数に書き換えてください。
前に1枚画像を置くならchangImage1(1,x)に、
2枚ならchangImage1(2,x)に、
10枚ならchangImage1(10,x)という具合にします。
この数字がfunction changImage1(imgNoA,imgNoB)内のimgNoAに引き渡されて、たとえばchangImage1(10,x)なら、 document.imges[10].src(ページ内で11枚目の画像を意味します)をmovimg[x].srcで指定した画像に書き換えてくれます。Q8formで記述した内容、特にE-Mailアドレスを入力してあるかどうかをチェックし、欲をいえば、できるだけインチキでないアドレスが記述されているのを確認してから、送信する方法を教えてください。
Aこんなんでどうでしょ? 未入力だとダイアログを出して再入力となります。E-Mailアドレスは@の文字だけチェックしました。 (Thanx>Maki Murakamiさん)Q7自分のコンピュータの中では動くのに、なぜか、サーバーに置いたとたんに動かなくなってしまうのです。gifイメージがみつからないと言うのですが、確かにサーバーの中にはあります。どういうことなのでしょうか。
A'339.GIF'という風にスクリプトのなかに書いてありますが、実際は'339.gif'ではありませんか? Win95やMacのローカル上ではgifがGifやgIFになっていてもちゃんと動いたりするのですが、プロバイダーのサーバーでは普通は大文字小文字が厳密に区別されているので、こういう結果になるというわけです。ファイル名などもWin95では勝手に大文字小文字を書き換えられたように見えたり?するので気を付けましょう。 ちなみに、JavaScriptの命令は大文字小文字を区別して使います。 (Thanx>Hajime Yanaseさん)Q6E01「ボタンクリックでサブウインドウ....」で 1つのページにサブウインドーを複数使おうとすると、サブウインドーのなかの文字が同じになってしまいます。WinE02の個所をWinE03,WinE04等に変えても同じ結果でした。
A複数のサブウィンドウを開くためには、E01のサンプルだとWinE02=window.open('','WinNameE02','toolbar=0,......の行のWinNameE02の部分を変える必要があります。 で、下記のような方法もあります(^^)。 (Thanx>Yoshio Hayashiさん)
Q5下記のように、<INPUT>タグのNAMEオプションに日本語を使用した時、JavaScriptで使用できますか? A上のスクリプトをコピーしてやってみるとわかりますがこのままではできません。でも、alert(form.elements["日本語"].value)とするとうまくいったりします^^;;。実はこれ、仕様はform名.elements[index番号] ですが、form名.elements["elements名"]も使えて、ここでは日本語が通ったりするのです。ただ、やはりプログラムの中に日本語を使うのはエラーの元ですから、変数や関数名なども含めてスクリプト中に日本語を使うことはやめときましょう^^;;。どうしてもNAMEに日本語を使いたいという時はせいぜいalert(form.elements[0].value)ってな具合にelements[index番号]で指定するくらいにとどめておきましょう。(Thanx>加藤芳彦さん) NAMEへ日本語を使用する Q4動かないんですけど...。
function test(){ if( navigator.appcodeName == "MSIE" ){ alert ("You can enjoy this site by using Netscape Navigator"); } }
Aこうです(^^)v。if( navigator.appcodeName == "MSIE" ){ これを if( navigator.appCodeName == "MSIE" ){ こうします。 JavaScriptの命令は大文字小文字を区別して使うので気をつけましょう(^^)/。(Thanx>Kasaiさん)
Q3Netscape(2.02,3.0+MAC)でテキストエリアへの日本語入力を検知できないんですけど...。
A
たとえば、下の入力フィールドは英数字では大丈夫なのですがひらがなや漢字を入れて"入力内容test1"ボタンをクリックしたときにMac+NN2.0,3.0,4.0ではうまく反映されない場合があります。
これは日本語入力のバグですが、たとえば、入力時にスペースなどの半角を入れるようにするととりあえず^^;;読めるようにはなります。また、入力後history.go(0)で再読み込みを行う方法(上記test2)もあります。この場合、Macを分岐することと、go(0)の後に入力スキャンが行われるようになんらかのタイミング調整(ここではload時にvalueのある無しをchk)が必要です。 (Thanx>黒田さん)
Q2Javaって難しいんですけど...。 AJavaScriptなら簡単です(^^)v。
Q1JavaScriptのソフトはどこで手にいれればよいのですか?
AJavaScriptはJavaやショックウェーブなどのような特別な開発環境を必要としません。HTMLを書くのと同じエディタがあればokです。あとは、Netscape Navigatorの2.0以上かIEの3.0以上のブラウザがあれば動きます。つまり、HTMLを書く道具とまったく同じでかまいません(^^)。
Q0わたしは素敵なおじ様が好きなんですが高橋さんてどんな方なのでしょう?
A素敵なおーじ様です。きっぱり。<おじー様だったりして^^;;
つづく....^^;;;;