• ベストアンサー

javascript の外部ファイルの読み込み

*OKWaveで初めて質問します、よろしくおねがいします。 *外国人ですので間違えた日本語ありましたらお許し下さい。 ---------------------------- hoge.txt の内容が一秒毎に変わります。 ここでjavascript の外部ファイルの読み込みと document.write()を使って 一秒毎にhoge.txt の内容をブラウザで表示したいのです。 可能でしょうか? よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

hoge.txtは勝手に更新されていくということで良いでしょうか? document.write()を使うと、すべて上書きされてしまいますのでDOMを操作する必要があります。 至極簡単な例ですと document.getElementById('hoge').innerText='更新したい文字列'; 1秒ごとに取得してきたいのであればAjaxを利用してバックグラウンドで取得しに行けば良いと思います。

ferry-sefid
質問者

お礼

色々調べますと、やっぱり答えはAjaxにあるみたい… Taiyonoshizuku 様、色々アドバイスがありがとうございました。 とりあえず、Ajax の勉強をはじめます。

ferry-sefid
質問者

補足

hoge.txt はperl で自動更新なります。 (1秒ごとにランダム数字を書き込みます) イメージとして下記のサイトとなりますが、Bid(売値) や Ask(買値) 部分… http://info.finance.yahoo.co.jp/fx/detail/?code=USDJPY=FX やっぱりAjaxを勉強しないと無理かな?

その他の回答 (1)

回答No.2

非同期で通信しないとブラウザが1秒ごとに結果が返ってくるまで反応しなくなります。 (取得から処理終了まで0.5秒かかったら次の実行まで0.5秒しかないことになります。) それか1秒ごとに画面がリロードを繰り返すことになります。 ネットワークのレスポンスを考えると非同期でも1秒毎の取得は保障できないかもしれません。

関連するQ&A

  • JavaScriptの外部ファイルの読み込み

    JavaScriptの外部ファイルの読み込みは、PHPファイルでも出来るのでしょうか。

  • 外部JavaScriptの書き方

    外部JavaScriptの書き方 <script language="JavaScript" src="data.js"></script> 上記data.jsから、他サーバーの外部javascriptを読み出すには 以下のよな書き方で正しいでしょうか? document.open(); document.write('<script language="JavaScript" src="http://hoge.com/data.js"></script>'); document.close();

  • 外部javascriptファイルの中にさらに外部javascriptファイルを入れたい

    javascript初心者です。 メニューの一部を外部ファイルによるツリーメニューにし、 さらにメニュー部分全体を外部ファイルにしようとしましたが、 メニュー部分全体を外部ファイルに移したら、 中のツリーメニューが機能しなくなってしまいました。 いろいろ試してみましたが、付け焼き刃の知識では皆目見当が付きません。 ご指摘いただけると嬉しいです。内容は下記の通りです。 メニュー全体の外部ファイル「menu.js」 document.write('<div id="menu">'); document.write('<h1>お役立ち情報<\/h1>'); document.write('<ul>'); document.write('<script src="javascript\/tree.js" type="text\/javascript"><\/script>'); document.write('<li><a href="javascript:tree("click1");" title="">HOME<\/a>'); document.write('<\/li>'); document.write('<div id="click1" style="display:none;">'); document.write(' <a href="未設定" title="作成中です" target="未定">第1ページ <\/a>'); document.write('<br>'); document.write(' <a href="未設定" title="教えられません" target="未定">第2ページ <\/a>'); document.write('<br>'); document.write('<\/div>'); document.write('<li><a href="javascript:tree("click2");" title="">お知らせ<\/a>'); document.write('<\/li>'); document.write('<div id="click2" style="display:none;">'); document.write(' <a href="未設定" title="作成中です" target="未定">第3ページ <\/a>'); document.write('<br>'); document.write(' <a href="未設定" title="教えられません" target="未定">第4ページ <\/a>'); document.write('<br>'); document.write('<\/div>'); document.write('<li><a href="#">DOWNLOAD<\/a>'); document.write('<\/li>'); document.write('<\/ul>'); document.write('<\/div>'); 中に入れてあるツリーメニューの外部ファイル「tree.js」 function tree(id) { if (document.getElementById(id).style.display == "block") document.getElementById(id).style.display="none"; else document.getElementById(id).style.display="block"; } .htmlの記述はこうなっています。 <script src="menu.js" type="text/javascript"></script>

  • 「ソースの表示」をしたときに極力外部ファイルの読込先をわかりづらくする

    「ソースの表示」をしたときに極力外部ファイルの読込先をわかりづらくする方法はないものでしょうか? AD内で別のサーバからファイルを読み込んでいる場合、こんな風に書きますよね? $("#my1").load( "http://hoge.hoge.txt" ); こうやって読んでいる場合、ソースの表示をすると見た人は「あっ!ここからファイルを読んでいるんだー」ってわかっちゃいますよね かといってJavaScriptで右クリック禁止しようとはまったく思いませんが・・・ すぐにファイルのありかを確認できちゃうのはなんとなく気持ちよくはないです。 うまく読込先を”わかりづらく”する方法はないでしょうか?

  • 外部javascriptファイルをjavascriptから動的に呼び出したい

    呼び出し元のURLによって動作を変えたいJAVASCRIPTがあります。 普段外部のJAVASCRIPTを呼び出すときはよくこうするのですが <script type="text/javascript" src="js.php?key=url"></script> これでは「key=url」が固定になってしまいます。そこで下記のように <script> var commentname=document.URL; var str=encodeURIComponent(commentname); document.write('<script type="text/javascript" src="read.php?key=',str,'"><\/script>'); </script> document.writeを使って無理やり外部Javascriptファイルの呼び出しスクリプトを書いているのですが、この書き方はどうもエレガントさにかけるというか、いまいち気に入りません。 もっとほかに良い方法がある気がするのですが、調べてもわかりませんでした。おわかりになる方がいらっしゃったらご教示頂けないでしょうか。

  • Javascript外部ファイルの読み込みについて(ブラウザにキャッシュさせたい)

    現在、製作中のサイトにおいて、webページが表示されるまで、5秒~15秒程度かかる事態が発生しています。 該当サイトでは、prototype.js等のjavascriptのライブラリを使用しており、合計で5個のjsファイルを読み込んでいます。 jsファイルの読み込み箇所を削除するとサクサクと快適になるので、jsファイルの読み込みに問題があると考え、jsファイルを圧縮したり(http://dean.edwards.name/packer/等)、ブラウザにキャッシュさせるために<script src=""での読み込み時に引数「?version=1」を追加してみたりしていますが、あまり改善しません。 読み込みの数を減らすため、prototype.jsとjquery.jsを統合するなども試してみました。(統合後のサイズは116KB) 利用環境によってはそれほど気にならない速度なのですが、IE6の環境でかなり重い場合がありますので、改善方法を探しています。 一回目の表示はともかく、2回目以降も毎回トップページ表示に5秒以上かかるのは問題がありますので…。 現時点で原因は、外部jsファイルがキャッシュされず毎回サーバーに読みにいっているために遅くなっていると思うのですが…。 ブラウザに外部ファイルをキャッシュさせる方法は何かないのでしょうか? ちなみに、重くなる環境で、他のサイト(外部JSファイル読み込み多数)のサイトを表示しても、2回目以降は重くなりません。ブラウザのキャッシュの削除も一度試しています。 参考に、現在のスクリプト呼び出し部分を記述します。 ---------------------ソースここから--------------------------- <script type='text/javascript' src='js/prototype-1602-and_jquery.js?version=1'></script> <script type='text/javascript' src='js/js.js?version=1'></script> <script type="text/javascript" src="js/lib/jquery_auto_j.js?version=1"></script> <script type='text/javascript' src='js/scriptaculous-js-181/src/scriptaculous.js?load=effects'></script> <script type='text/javascript' src='js/lightview.js?version=1'></script> ---------------------ソースここまで--------------------------- また、スクリプトはPHPで作っていますので、キャッシュを許可する記述を以下のようにしています。 ---------------------ソースここから--------------------------- session_cache_limiter('private_no_expire'); session_start(); ---------------------ソースここまで--------------------------- また、現状ではjsファイルの読み込みが原因かと考えていますが、それ以外でも改善点などがあれば、それをご指摘頂ければありがたいです。 宜しくお願い致します。 確認環境:windows XP、 IE6 HP作成スクリプト:PHP

  • JavaScriptの外部ファイル読み込み

    JavaScriptの外部ファイル読み込みについてご教授下さい。 現在、Webサイトを作ろうとPHPとJavaScriptをレンタルサーバーにアップしたのですが、 ローカルではPHPから外部ファイルのJavaScriptを読み込めるのに、 サーバーにアップするとPHPからJavaScriptを読み込めなくなってしまいます。 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>TEST</title> <meta charset=utf-8" /> <script type="text/javascript" src="./js/jquery-1.4.2.min.js"></script> ・・・ 上記のようにしてもjquery-1.4.2.min.jsが読み込まれず、jQueryが使えません。 FireBugでスクリプトを確認すると以下のようなエラーが出ていました。 1Failed to load source for: http://xxx.my-sv.net/js/jquery-1.4.2.min.js ちなみに以下のようにJavaScriptファイルを開こうとするとブラウザは真っ白なのですが、 http://xxx.my-sv.net/js/jquery-1.4.2.min.js テキストファイルに変更したものだと中身を見ることができました。 http://xxx.my-sv.net/js/jquery-1.4.2.min.txt ブラウザはFireFox3.0.11とIE8.0の両方でダメでした。 なぜJavaScriptファイルだけ読み込めないのでしょうか。 ご教授お願いいたします。 ※ちなみに、別のレンタルサーバーにアップロードしたら問題なく読み込めました。 しかし、そこにはDBがなかったので、なるべく今のレンタルサーバーを使いたいのです。。

  • JavaScript 外部ファイルの記述

    <script Language="JavaScript"><!-- h = (new Date()).getHours(); if ( h < 6) document.write("外は暗いですね"); if ((h >= 6) && (h <12)) document.write("午前中"); if ((h >= 12) && (h <20)) document.write("午後です"); if ( h >= 20) document.write("夜です"); // --></script> これは時間ごとに違った文字を表示するものです。 このJavaScriptを外部ファイル化したいのですが、うまくいきません。 以下のように記述しました。 h = (new Date()).getHours(); if ( h < 6) document.write("外は暗いですね"); if ((h >= 6) && (h <12)) document.write("午前中"); if ((h >= 12) && (h <20)) document.write("午後です"); if ( h >= 20) document.write("夜です"); これでどこか間違っているところがあるのでしょうか? よろしくお願いします。

  • htmlとjavascript

    javascriptを外部ファイルで作成しています。 HTMLの作ったテキストとjavascriptで作ったテキストを同時に、 組み合わせたいのですがどうしたらいいのでしょうか…? <body> <h1>タイトル</h1> <p>内容</p> ここにjavascriptで文字等を表示 </body> 外部ファイルのjavascriptで「document.write(・・・・・)」 だと、htmlの文章が消えてdocument.writeの文だけになってしまうので、 何か解決策を教えていただけると幸いです。 よろしくお願いいたします。

  • javascriptで外部ファイルをヒアドキュメントっぽくインクルード

    javascriptで外部ファイルをヒアドキュメントっぽくインクルードしたいのですが、うまくいきません。どこがいけないのでしょうか? ■JavaScriptでヒアドキュメントを使うライブラリを作った。 - こせきの技術日記 http://d.hatena.ne.jp/koseki2/20080112/jsheredoc を参考にしているのですが、掲載内容が理解できません。 とりあえず、下記記述としたところ、 外部ファイルをインクルードでき、表示もされるようにはなったのですが、 Firefoxで読み込み完了とならず、いつまで経っても読み込み中のままとなってしまいます。(恐らく完全に正常に処理されているのではなく、どこかの処理で引っかかったままなのだと思います) どう直せばよいのでしょうか? ■index.html <script type="text/javascript" src="heredoc.js"></script> </head> <body> <script type="text/javascript"> var callback = function(values) { document.write(values.str); } Heredoc.load("./templates_02.txt", callback); </script> </body> ■templates_02.txt var str=<<EOT sssssss ddddddd2 <a href="http://www.yahoo.co.jp/">YAHOO</a> EOT