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

htmlの書き方については教えてください。

htmlの中からhtmlファイルを指定して呼ぶことはできるのでしょうか?具体的に親のhtmlは一度upしたらそのまま、その後、呼ばれるほうのhtmlをすきないときに変更したものを表示したいと思っています。

よろしくお願いします。

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

▽最新の回答へ

1 ● きあ
●27ポイント

>htmlの中からhtmlファイルを指定して呼ぶことはできるのでしょうか?

できますよ?。二通りの答えが見えるんですが、どちらになるでしょうか。

下記のページがHTMLが入れ子の状態。フレームという方法。

外枠はそのままで内枠だけを変える方法です。

メニューが内側1、中身が内側2といった表示方法をとると便利ですね。

ページ毎にメニューを用意しなくても済みます。

ただし、googleなどの検索サイトは内側のほうが表示されやすく、内側に直接飛んだ場合メニューが見れないといった弊害があります。

http://www.asahi-net.or.jp/~ax2s-kmtn/ref/html/hp7.html


もうひとつの方法は、CGIを使った方法。

動的にHTMLを書き換える場合はこちらを使用します。

たとえば、ユーザー登録させて、そのユーザーごとに違ったHTMLを表示したいなどなど。

参考URL

http://www.tohoho-web.com/wwwcgi.htm


2 ● niwa-mikiho
●27ポイント

<iframe></iframe>

で読み込むか、Ajax で読み込むかの2通りあります。

ただそれだと携帯などや Javascript を OFF にしてる人は見ることが出来なかったり、

思うようなデザインにならなかったりすると思います。


そこで、perl などスクリプト言語で、たとえば、test.html の中にある を

abc.html に置き換えて出力するだけのスクリプトを書いてみては如何でしょうか?

そのスクリプトになんらかの処理をさせずに、表示するだけのスクリプトにすれば10行程度で作れます。


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

既出の IFRAME を使う方法、Ajax を使う方法のほか、SSI を使う方法があります。

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


■IFRAME (<iframe> - インラインフレーム)

○HTML のみで実現でき、簡単

×枠の大きさはあらかじめ決めておかなければならず、(別途 JavaScript で工夫しない限り) 内容量に応じて伸び縮みさせることができない

×FRAME 同様のアクセシビリティ上 (印刷、検索等) の問題がある

×HTML 4.01 Strict DTD や XHTML 1.1 等では定義されていない今後消えゆくタグ。…かといって代替として提案されている OBJECT 要素での HTML 埋め込みは IE が非対応


■SSI (とほほのSSI入門 - ファイル読みこみ(#include)

) (PHP、CGI 等各種サーバサイドスクリプトも同様)

○クライアントに渡されるのは出力結果の HTML のみなので、アクセシビリティ的には最良

×各種機能を使えるサーバを選ぶ必要があり、どのサーバでも同様にというわけにはいかなくなる

×サーバ側での処理が増えるため若干サーバ負荷が増える


■Ajax (例: SSIならぬクライアントサイドインクルード(CSI)を実現できる「sprinkle.js」)

○SSI のようにサーバを選ぶことなく実現できる、またサーバ負荷が増えることがない

×IFRAME や SSI のように1行で簡単にとはいかない (適切なライブラリを選ぶことでかなり軽減はできますが)

×サーバを選ばない代わりにクライアントを選ぶことになる (Ajax が使えない古いブラウザや携帯等が NG)


…といったあたりを踏まえてどの手法で行くか選択していただけば良いかなと思います。

◎質問者からの返答

ありがとうございます。できればiframeやframeを使いたいです。実際に使用してるサーバーはcgiなどをサポートしてないからです。

さて、frameをためててみました。スクロールバーをつけたいくないのでそのように設定しました。

実際には2つのhtmlファイルを表示します。それぞれは2画面分の量をもっています。frameでは自動的に画面の50%/50%で区切られてしまいました。これでは意図したとおりではありません。frame/iframeでスクロールバーをつけずに4スクロール分の画面を表示することはできないのでしょうか?

関連質問


●質問をもっと探す●



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