• ベストアンサー

インクルードファイルとインラインフレームを比較した場合のメリット・デメリット

webサイトを構築する際に共用部分のhtmlを読み込んで表示させる場合の対応として、インクルードファイルかインラインフレームのどちらかを検討しています。インクルードファイルの場合、サーバの負荷や設定など必要になろうかと思われますが、それぞれ比較した場合のメリット・デメリットを知りたいのですが。また、SEO的にはどうなんでしょう?

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

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

まず、インクルードするのとiFrameを使用するケースは全く別物です。 インクルードの場合、SSI(サーバサイドインクルード)か、CGIやPHPなどのスクリプトにより、サーバ側の処理によりHTMLソース内部にテキストとして出力されます。 そのため、閲覧者からは「それがインクルードである」と認識されません。 iFrameの場合、フレームと同じ原理で別URLのファイルを表示する窓でしかありません。CSSを使用し枠を消すといった事は可能ですが、閲覧者には認識可能です。 また、iFrame非対応のブラウザでは見れませんし、XHTML標準ではiFrameは廃止されているので、今後廃れる可能性もあります。 SEO的に見ても、ソースにテキストとして出力されるインクルードの方が効果が高いと言えます。 インクルードの方がメリットが高くデメリットもありませんが、サーバの仕様によって利用の可否があります。

blackeyes
質問者

お礼

お返事ありがとうございます。大変参考になりました。 また、回答のなかで“iFrame非対応のブラウザ”と書かれていますが、具体的なブラウザを教えていただきたいのですが。(バージョンにもよると思いますが...)よろしくお願いいたします。

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • moxno
  • ベストアンサー率40% (2/5)
回答No.4

できるならincludeを使用することを前提としてなんですが、iframeにもメリットはあります。 必要とするリソースだけ開きたいとき、不要な共用部分を除いてアクセスができる点です。 たとえばこの教えてgooの画面質問の一覧のページだと、 上部と右部分に共用部分が表示されていますよね。 ウィンドウをちょっと狭くしてこのページを見ると、 広告やメニューなどが表示されているために、 スクロールしないと一覧までたどり着けません。 記事の一覧だけ見たいのに、(自分にとっては)不要なメニューや広告まで表示されてしまうのです。 (ブログなんかでよくあるんですけど、 3カラムなのに800pxくらいで幅が固定されていて、 メインであるはずの記事が15文字くらいで折り返されてて読みづらいとか) 翻って、サイトの内容を すべてiframeの中に表示させるような構成のサイトがありますが、 iframeのサイズが十分でないために、 ものすごく見づらいことがあります。 でも、iframeなので、iframeの中に表示されるはずのリソースに 直接アクセスすることができますし、 そうすると不要なメニューは表示されずに閲覧することができます。 (iframeだけでなく、frameのサイトでも同じ) ただし、iframeの中に表示されるページまでおかしなことになってると意味ないですが。 個人的にはiframeはおすすめしないし、自分でも使わないです。 でも、includeを使っても、設計しだいで iframeより不親切なサイトになってしまうかもしれない、 ということも頭の隅に留めておいて欲しいな、と…。

すると、全ての回答が全文表示されます。
回答No.3

iFrame非対応ブラウザについてという事で、IE2以前にネットスケープ(NN)4以前のほか、盲人用音声ブラウザやi-modeにEZ-webといった携帯でのブラウジングも非対応です。PC向けサイトならシェア率1%以下の存在となりますが、ごくまれにNN4を使っている人も未だにいます。しかしながら現実的な話をしますと、切ってしまっても何ら問題ない数です。 iFrameは廃れるとも書きましたが、あくまでXHTMLの仕様の流れからあり得る可能性という話で、最もメジャーなGoogleの広告でもiFrameは使われていますので、HTMLという枠の中でなら、現実問題iFrameが無くなる可能性は薄いです。 上記を踏まえた上でも、iFrameはインクルードの代替手段であり、インクルードができる環境ならインクルードを使うことをお勧めします。iFrameのようなスクロール付き窓にするにしても、CSSで出来ますしね。

blackeyes
質問者

お礼

ご回答いただきありがとうございます。 より詳しい内容で大変参考になりました。

すると、全ての回答が全文表示されます。
  • abacabu
  • ベストアンサー率37% (250/663)
回答No.1

趣味でHPを製作している者です 私は今までインクルードファイルという言葉を知りませんでしたので 自分なりに調べてみました。 その結果インクルードファイルとはCSS、JavaScript等を外部ファイル として作成することを言う様ですよ。 したがって、インクルードファイルとインラインフレーム(iframe)は 様は同じ意味ではないでしょうか? iframeも外部ファイルを読み込んで表示するものですので。 私のインクルードファイルに関する調べ方が悪かったのでしょうか?

blackeyes
質問者

お礼

お返事ありがとうございます。ご意見参考にさせていただきます。

すると、全ての回答が全文表示されます。

関連するQ&A