• ベストアンサー

textデータをWebページに読込むJavaScript

GoogleAdsenceでは、JavaScriptを組み込んだWebページから、別のファイルのデータを読込んで表示する仕組みになっていますが、これはどうしたら出来るのでしょう。 別にGoogleみたいにWebページを解析してデータを表示したいとか大それたことじゃなくて、自社のホームページに、最新情報をTEXTで1~2行表示しているのですが、しょっちゅうそれが変わります。そしてその文章を作る人がHTMLがわからないので、変更する時に私がWebページをいちいち更新しています。 できればその人がCGIフォームで最新情報を入力すれば、WebサーバーにData.txtみたいなファイルに内容が保存されて、それを表示するWebページの一部にJavaScriptでData.txtの内容を読込んで表示する、という感じにしたいのですが・・・私のいわんとすることわかりますでしょうか

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

><script type="text/javascript" >src="http://Path+ファイル名.js"> ></script> これは、もちろんできますよ。 テキストファイルというより、スクリプトファイルの外部呼び出しですから、これを使うというなら、 document.write("書き出すテキスト<br>"); みたいなものの羅列にする必要があります。 質問文でのCGIフォームでData.txtの替わりに そういうembeds.jsを掃き出すようにして埋め込む部分に <script type="text/javascript" src="embeds.js"> とすれば良いと思います。

souta_n
質問者

補足

ありがとうございます。おかげさまでできました。 重ねてお聞きしたいのですが、 jsファイルの方で >document.write("書き出すテキスト<br>"); を例えば、document.write("Yahoo!Japan<br>"); とすると確かに参照先HTMLに「Yahoo!Japan」が表示されたのですが、実はこのテキストにリンクを貼りたいのです。 そこで、document.write("<a href='http://www.yahoo.co.jp>'Yahoo!Japan</a><br>"); としてみたのですが、文字は表示されますが、リンクが反映されません。リンクを反映させる為にはどうしたらよいのでしょう。

その他の回答 (5)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.6

>リンクが反映されません #5で指摘されている通り、 ’の位置が悪いと思います。 あと、もう一つ気になるのが #4で<script …>と私が書いていますけど </script>はしていますよね? まさかとは思いますが、私の書き方が悪かったんですけど。

souta_n
質問者

お礼

再度のご指導ありがとうございました。 ></script>はしていますよね? はい、してました。 >私の書き方が悪かったんですけど。 そんなことありません。良くわかりました。 問題はしょうもないHTMLの綴りミスでした。 お騒がせしました。

  • crosis
  • ベストアンサー率66% (14/21)
回答No.5

横槍入れてみようかな、、、 document.write('<a href="http://www.yahoo.co.jp">Yahoo!Japan</a><br>'); でダメですかねぇ? document.write("<a href='http://www.yahoo.co.jp>'Yahoo!Japan</a><br>"); だと、アンカーの示すURLがクォーテーション内とは判別されないので、、URL部分をクォーテーションで囲う必要があるわけです。  ×:href='http://www.yahoo.co.jp>'  ●:href='http://www.yahoo.co.jp'> ときに、HTMLを解釈する側では、URLは'~'で囲まれるより、"~"で囲まれた方が良い的な感じのことがよく書いてあるので、 Scriptのテキストとして扱う部分を"から'にした方がいいかな、、、と。。。 まぁ、これについては個人の勝手ですが、、、

souta_n
質問者

お礼

人間、本当に出来るのかな~とこわごわやってる時に限ってボンミスするものですね。 原因わかりました。<a href を <a heefと記述してました。そりゃリンクせんわ! ということで解決しました。ありがとうございました。

回答No.3

追加で。 余計な機能もいろいろついていますが、下記のCGIなど、ご要望に沿っているのでは?

参考URL:
http://wws.cside.com/cgi-plant/diary/
回答No.2

javascriptからテキストデータを読み込むのではなく、更新情報を表示する外部jsファイルそのものをPerlで書き出して、それをhtmlから呼び出せばいいと思いますよ。

souta_n
質問者

お礼

#1の人の回答から検索語をJavascript インクルードにするとそれらしい質問回答を検索することができました。 ところで、最近このサイトのサーバーひどくないですか。 おれいを書いて、送信すると「サーバーが見当たりません」ばっかりです。お礼もかけないよ・・・ このお礼の欄を利用して、上記2名の方にもお礼申し上げます。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

勘違いしてたら、ごめんなさい。 一般に、javascriptを使ってファイルを読むことができないので、javascriptを使って埋め込むことは、できません。 IE+javascriptであれば、ビヘイビアという機能を使って、(同一サイトの)ファイルを読み込むタグを作成することができます。 一般的には、質問文の様な動作はASPやJSPのようなサーバーでのinclude命令を使って埋め込みをします。 また、 PHP(とかCGI)が使えれば、ページの中にファイルを埋め込みできます。 いずれにしても、サーバー側での動作をさせることになろうかと思います

souta_n
質問者

補足

>javascriptを使ってファイルを読むことができないので、javascriptを使って埋め込むことは、できません。 あっそうでしたね。基本中の基本だ! でも、Adsenceのタグを見ると、 <script type="text/javascript" src="http://Path+ファイル名.js"> </script> となっています。拡張子jsは、拡張子辞典で調べると「JavaScriptでのインクルードファイル。」となってました。ということは、Javascriptでincludeできるということですよね。う~ん・・・ >PHP(とかCGI)が使えれば、ページの中にファイルを埋め込みできます。 PHPは使えないのですが、Perlは使えます。確かにこの方法もあるのですが、Webページが動的ページになるので検索エンジン対策上よろしくないようです。出来ればHTMLファイルで自動的に表示されるようにしたいと思っているのです。

関連するQ&A