XMLHttpRequestという技術を使って、

「外部サーバの指定URLから株価※を読み取り、自分のページの指定個所に表示」
ということをしようとしています。

【自ページのレイアウト】--------------------------

A社←ここに株価挿入
 記事・・・・・・・・・・・・・・・・
 ・・・・・・・・・・・・・・・。

B社←ここに株価挿入
 記事・・・・・・・・・・・・・・・・
 ・・・・・・・・・・・・・・・。

C社←ここに株価挿入
 記事・・・・・・・・・・・・・・・・
 ・・・・・・・・・・・・・・・。
-------------------------------------

ローカルでは動くのですが、webにアップすると動きません。

調べてみるとActiveXという技術を使っているからhtaじゃないと動かない・・と。
htmlのまま、web上で動かす方法はないでしょうか?

分かる方、御教示ください。

※株価のようなもので、例えです。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/03/11 00:30:16
  • 終了:2008/03/18 00:35:02

回答(3件)

id:heilig_zwei No.1

heilig_zwei回答回数119ベストアンサー獲得回数132008/03/11 09:37:57

ポイント35pt

通常はHTMLで動くはずです。

JQueryなんかを使うと楽ですよ。

http://www.mikage.to/jquery/


 外部サーバからデータを呼び出すということは、cgiを呼び出してLWP::Simpleでgetとかしてらっしゃるのだと思いますが、そのあたりの詳しい流れを書いていただければ対処できると思います。

id:freewriter

ありがとうございます。cgiなどサーバサイドの言語は全く使っておらず

純粋にjavascriptだけでやろうとしています。訳あってcgiは使えません。

データを読み取りたい先は、規定のフォーマットから生成されているHTMLです。

ページごとに規定の個所に数値が1つずつ入っていて、URLを指定して読みに行く感じです。

JQuery、試してみますね。ありがとうございました。

2008/03/12 02:15:19
id:maverick100s No.2

maverick100s回答回数15ベストアンサー獲得回数12008/03/13 11:35:23

ポイント35pt

XMLHttpRequestで外部サーバーにアクセスできる、できないは各ブラウザの仕様です。

最近それが可能なブラウザも出始めているようですが、現時点では、JavaScriptのみで外部データの取得は出来ないと考えた方がいいと思います。


ページ再読み込みをしたくないためにCGI等を使いたくないというのであれば、データを一度wget等で定期的に外部サーバーから、内部サーバーにコピーを取るようにして、JavaScriptで内部サーバーにリクエストをすればいいと思います。

分業でサーバー側でプログラムを行う権利、あるは知識がないというのであれば、管理者等に上記をお願いして、そこにアクセスするのが現状ではベストではないかと思います。

絶対にクライアントサイドしか使えないというのであれば、可能かどうか調べてはいませんが、JavaAppletや、Flashのクロスサイトでのアクセスも調べてみてはいかがでしょうか。

あ、あと、試してはいませんが、ページに0ピクセルのフレームを作り、見えないフレームの中で定期的にJavaScriptで、location.hrefでページを取得しておいて、必要な時にその見えないページをJavaScriptでパースするという方法ならば、少々汚い方法ですが、不可能ではないと思います。 

id:iu43lkjds32 No.3

iu43lkjds32回答回数18ベストアンサー獲得回数02008/03/17 23:30:34

ポイント10pt

外部サーバー側で「勝手に使われないような仕組み」が入っている可能性があります。

ローカルで実行すると「前に参照していたページのURL」が送られませんが,

普通のweb serverのページだとブラウザが勝手に送ってしまいます。

この情報を利用して「勝手に情報を他のページで流用されない仕組み」を使うことが良くあります。

ちなみにGoogle Maps APIでも同じような仕組みが使われています。

http://maps.google.com/

  • id:heilig_zwei
     2回目なんでコメ欄で失礼します。
     大抵のブラウザは、XMLHttpRequestで外部サーバのデータは呼び出せない仕様になっています(これを「クロスドメイン制約」と言います)。理由は、おそらくセキュリティ上の安全が確保できないからです。
     なので通常は、XMLHttpRequestでcgiを呼び出し、cgiがRSS等のデータを呼び出す、と言う手順を踏むことになります。
     抜け道も無いことは無いらしいので、以下のサイト辺りを参考にしてみてください。
     http://d.hatena.ne.jp/nyagao/20070529/1180452264

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません