![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_02.png?5a7ff87)
No.3ベストアンサー
- 回答日時:
補足読みました。
document.write()についてですが、このメソッドはページロード時にHTML文書の内容としてテキスト類を書き出すことは可能です。 しかし、HTML文書のレイアウトが確定したあと(ファイルの読み込みが終了した後)に、このメソッドでさらに追加して内容を書き出すことは、基本的にできません。 ですので、このケースでそれを利用しようとしても、エラーになります。
ですので、document.write()では、ページロードごとにその時点に対応した内容を書き出すなどのケースでは有用ですが、この時刻表示などのようにページロードが終了した後にも内容を書き換えたいというケースには向いていないと思います。
ページロード後にdocument.write()で内容を書き換えたいという場合、document.open()でドキュメントストリームを開きなおし、その上でdocument.write()を使って内容を書き出すことも一応は可能ですが、そうするとそれまで表示されていたページの内容がすべて破棄されてしまいます。
ただ、Netscape4.xxのDHTMLについては私はあまり詳しくないのですが、#1の方が挙げられている参考URLを見る分には、Netscape4.xxではdocument.layers["特定要素のid名"].document.open()で破棄される内容を特定要素にとどめることができるようですので、この手法を使って内容の書き換えが行えるようですね。
あと、補足ですが、前に挙げたスクリプトは、Netscapeでもバージョン6以降では動作しますよ。 Netscape6でも、document.getElementById().innerHTMLは有効のはずです。 Netscape4.xx以前のバージョンではDOMに対応していないので、動作しません。
いつもありがとうございます。
いろいろと、勉強になりました。
まだまだ、Javascriptは勉強することが多く悩める毎日です。本当にありがとうございました。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_02.png?5a7ff87)
No.2
- 回答日時:
document.write()を使って書き出すのは、このケースではあまり適切な方法ではないのではないでしょうか。
DHTML的手法を使用して、特定の要素に書き出されているHTMLの内容をJavaScriptから書き換えるのが良いと思います。
ソースに関しては、過去に同じような質問に回答した時の使いまわしですが、
function jikoku() {
if (document.getElementById){
now = new Date();
hr = now.getHours();
min = now.getMinutes();
sec = now.getSeconds();
hr = hr.toString();
min = min.toString();
sec = sec.toString();
if (10>hr){hr = " "+hr;}
if (10>min){min = "0"+min;}
if (10>sec){sec = "0"+sec;}
ntime=hr+":"+min+"\'"+sec+"\"";
ntime=ntime.replace(" ","\;");
document.getElementById("clock").innerHTML= ntime;
setTimeout("jikoku()", 1000);}
}
以上をスクリプトファイルの内容に記述して、HTMLの方は時刻を表示したい部分に
<span id="clock"></span>
ないし
<div id="clock"></div>
として、さらに<body>の開始タグに「onClick="jikoku()"」と入れれば動作してくれると思います。
ただ、閲覧側のブラウザのJavaScriptとDOMの実装によって動作するかどうかが分かれます。 上のスクリプトではIE5.x以降と、Netscape6以降でなら動作すると思います。
参考になれば幸いです。
この回答への補足
お返事ありがとうございます。
やってみました。できましたm(__)m
ただ、どうして document.writeは適切な方法ではないんでしょうか?理由はわからないのですが、きっと適切でないから、いろんな作例に載っていないのですね。
なお、innerHTMLだとNeでは作動しないのですね。
もしよかったら、document.writeは適切ではない理由を教えてくださいm(__)m
No.1
- 回答日時:
↓ココのソースをコピペしたらいいんじゃないですか?(笑)
JavaScriptはちょっと検索すれば時計でも何でもいっぱい見つかりますよ~(^^)
参考URL:http://member.nifty.ne.jp/marsh/misya/java/etc/t …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 一戸建て 家の太陽光発電をLIXIL TEPCOの『建て得』採用してる人いませんか? 現在の発電量などをリアル 1 2023/04/03 06:39
- JavaScript 読み込んだQRコードをフォームに受け渡したい 1 2023/05/18 11:18
- Excel(エクセル) 出退勤管理の遅刻・早退時間について 3 2023/08/10 15:33
- その他(開発・運用・管理) おんどとりWebStorage APIから温度情報を取得し表示したい 2 2023/08/03 09:53
- au(KDDI) 特定の画面を見るとスマホが固まります ご覧頂き有難うございます。 特定のページを見るとスマホが固まり 1 2023/08/21 19:29
- Windows 10 Windows10の画像ファイルのサムネールがアイコン表示になってしまいました。 3 2022/07/09 13:01
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- フリーソフト 倍率自動調整して全画面表示できるフリーの画像ビューアー 1 2023/08/24 10:55
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
日付の書式の確認方法
-
なぜ、ジャバスクリプトが表示...
-
Math.sin(30) を度で
-
JavaScriptでFirefox使用者の閲...
-
記述の仕方を教えて下さい。
-
document.writeについて
-
「今日の日付けを画像で表示」...
-
HpのFlashで,ブロック回避の方...
-
画像をクリックすると閉じる別...
-
時間帯によって背景画像を変える
-
javascriptをはじめて勉強して...
-
google apps scriptの終了のさせ方
-
翌月を取得するGASが分かりません
-
GASでundefinedエラーが出ます
-
functionから別のfunctionを実...
-
関数でy=g(x)のgとは何の略です...
-
Linux バイナリ実行できない "...
-
ジェネレーターの作り方
-
ActiveXobjectが作成できない
-
jspからjavascriptの変数引継ぎ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
window.openでタイトル名の指定
-
ホームページに日付を自動更新...
-
なぜ、ジャバスクリプトが表示...
-
○歳△ヶ月と×日を計算してくれる...
-
今日の月と日付の1週間後や3日...
-
javascriptとphpの連携で疑問
-
引数を渡さずに呼び出し元の変...
-
document.clear()の使い方について
-
document.writeで画面が消える
-
文字列を点滅させたい
-
java カレンダーの日付指定で...
-
Java Scriptのメソッドについて
-
面白い!便利!と思った【JavaS...
-
javaで画像をランダム表示しつ...
-
ウェブ上にキーボードを作りた...
-
JavaScriptで前月を算出する方法
-
document.writeについて
-
for文のiを使ってリンク先のア...
-
外部JavaScriptでのd...
-
前のページに戻るとページトッ...
おすすめ情報