CGI-BBS > ホームページ記述言語 > HTML > HTMLのファイルからhtmlの外部サブルーチンを呼び出したい


カレッヂ
カレッヂ


質問者 shirousagi  投稿日 2005/6/21(火) 23:46:32
複数のhtmlファイル内で共通の記述が含まれる場合
共通部分を外部サブルーチンとして,呼び出すことはできないでしょうか?
もし,できるとしたら,呼ぶ側のhtmlファイルの記述と
呼ばれる側のサブルーチンの拡張子等の記述の仕方を教えて下さい。
よろしくお願いいたします。

【習熟度】(未選択)

回答者 こう  [削除]  投稿日 2005/6/23(木) 02:52:49
HTMLでサブルーチン化する概念はないと思います(多分・・・)

そこで必要になるのが、JavaScriptです。
JavaScriptでどうするかと言うと・・・

jsファイルに繰り返し記載する情報を記述します。
ここでは仮にfooter.jsファイルとしておきます。
メモ帳などで作成し、拡張子を.jsにして保存して作って下さい。

<jsファイルの中身>
document.write("<table align=\"center\"><tr><td>
ネットサーフレスキュー Copylight(c)2005</td></tr></table>");

ファイルができたら使用したいページでこのように記載します。

<html>
<head>
<title>〜のページ</title>
</head>
<body>

〜〜〜〜〜〜
〜〜〜〜〜〜

〜〜〜〜〜〜

〜〜〜〜〜〜

<!-- フッターを表示させたい部分 //-->
<script type="text/javascript" src="./footer.js">
                    ↑
(jsファイルの保存場所を相対パスもしくは絶対パスで指定します)

</body>
</html>


このようにすることにより、いろいろなページで同じものを呼び出して表示することが可能になります。
参考までにどうぞ。
質問者 shirousagi  [削除]  投稿日 2005/6/23(木) 21:50:05
お答えいただきましてありがとうございます。
初心者で,わからないことだらけなのですが…。

教えていただきました方法を使用した場合
javaを使えない設定にしている人が閲覧すると
何も表示されなくなってしまうように思うのですが
その場合の対処方法などありましたらご教授お願いします。
回答者 こう  [削除]  投稿日 2005/6/25(土) 02:25:32
JavaScriptを使用できない場合は、

<noscript>このページはJavaScriptを使用しております。
できるだけJavaScriptの実行を許可した環境でご覧下さい。</noscript>

この<noscript>タグで対処することになると思います。
上の例だと意味がないので、もし表示させたいのがヘッダ要素やフッタ要素の文字なら
簡易的なものを<noscript>タグ内に記述するとよいかと思います。

しかしこの方法だと、JavaScriptを使っている意味がないじゃん!ってことになります。
つまり、「面倒だけどHTML+CSSで記述するか」という答えに行き着くので、
用途によって使いわけるのがよろしいかと思います。

【例】
<!-- フッタスクリプト //-->
<script type="text/javascript" src="./footer.js"></script>
<noscript>CGIレスキュー Copylight(c)2005</noscript>

返信(回答)する

 


Web裏技