人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

HTMLの表の中に他のHTMLまたはTXTファイルからの一部を表示させる方法はりますか。
たとえば、b.html のある部分に12345という数字が入っていて、このb.htmlを開かずにa.htmlの表の中にこの12345という数字を抜き出して表示する方法です。

●質問者: nakane2007
●カテゴリ:インターネット ウェブ制作
✍キーワード:HTML txt ファイル 数字 TM
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● zaji
●23ポイント

インラインフレームでしょうか?

◎質問者からの返答

あ、そうです。そうでした。

調べてみます。


2 ● llusall
●23ポイント

Ajaxはいかがでしょうか?


Ajaxを勉強しようより

■サーバー上のHTMLファイルを読み込みページ上に表示する

サンプル

■サーバー上のテキストファイルを読み込みページ上に表示する

など。


上記サンプルはボタン押下時に表示させていますが、初期表示時に実現したいのであれば、

body タグの onload イベントで実装できると思います。


また、b.html のある部分の12345という数字のみを表示させる場合は、

Ajaxにより取得した内容から、その部分だけを正規表現等で抜き出すなどして、

表示させる形になるかと思います。

以上、参考になりますでしょうか?

◎質問者からの返答

大変面白く、勉強させてください。

ただ、今回は、携帯からもその数字が見られるようにしたいのですが、iframe でも携帯からだと見えないようですが、対応していない、このタグはということなのでしょうか?

となると他の方法を検討しなくてはいけないでしょうか?


3 ● まきのっぴ
●22ポイント

以下の4種類の方法が考えられます。

■1 SSI を使う

<!--#include virtual="b.html"-->

■2 インラインフレームを使う

<iframe src="b.html" width="60" height="16"></iframe>

■3 JavaScript (単純な document.write) を使う

<script type="text/javascript" src="b.js"></script>

ただし、この場合は b.html ではなく、b.js を作成することになります。

b.js の中身は

document.write("12345");

のように記載しておくことになります。

■4 JavaScript (Ajax) を使う

(prototype.js を使った場合)

<script type="text/javascript" src="http://www.prototypejs.org/assets/2007/1/18/prototype.js"></script>

(中略)

<span id="b"></span>

<script type="text/javascript"> new Ajax.Updater("b", "b.html") </script>

それぞれにメリット・デメリットがあります。

SSI は、Web サーバの機能によって実現されるものなので、SSI が使用可能なように Web サーバの設定を変更する必要があります。Web サーバにアップロードするまで結果を確認できないという管理上の不便さもあります。

しかし、サーバ側で挿入されるため、クライアントが何であろうと挿入された結果を受信することができ、アクセシビリティ、SEO 等の面で最良です。

IFRAME は、もっとも手軽に利用できますが、あくまでフレームの一種なので、アクセシビリティ上あまり好ましくありません。非対応のブラウザも存在しますし、フレームのサイズをあらかじめ決めておかなければならない点も不自由です。

JavaScript (単純な document.write) も IFRAME と同様です。非対応の環境が存在しますし、SEO の面ではかなり悪いです。

また、挿入したいテキストを JavaScript の構文に書き直さなければならない手間もあります。

Ajax は、挿入したいテキストを JavaScript の構文で書き直さなければならない手間を省けますが、利用可能なブラウザの範囲は最も狭くなり、SEO 的には最悪です。

特に携帯での利用を考えられているなら、選択肢は SSI しかないのではないでしょうか。

◎質問者からの返答

できました!!

ssiで。

ありがとうございました!!!!!


4 ● cockscomb
●22ポイント

objectタグなど使ってみてはどうでしょう。

将来的にiframeの代わりとなっていくはず(W3Cが言うには)のタグです。

<object data="ここに参照するHTMLファイルのURI" type="text/html" ></object>

このように書くことでHTMLファイルを読み込めるはずです。

また、開始タグと終了タグの間に代わりとなる要素を入れ子にすることで、object要素から読み込めなかったブラウザは代わりの要素を読み込むことが出来ます。

携帯電話がXHTML BasicくらいのDTDに対応していればこれで良いはずです。

ただ、携帯電話は標準的な技術に対応していないことが多いと思います。もし環境があるならばSSI(サーバサイドインクルード)など、サーバ側で処理してやる方がより確実だと思います。

◎質問者からの返答

上記のようにしたのですが、PCからでも表示できません。なにか規制があるんでしょうか?

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ