
フレームの代わり、どうしたら?
*****************
社内向けのホームページ担当です。
ずっとメンテナンス程度の更新しかしていなかったのですが、久し振りに新しいコンテンツを増やす事になりました。
ホームページビルダー8から16にアップデートしたら、テンプレートが豊富でビックリ。調べてみると、もうフレームでページ作りって古いんですね…
社内イントラで「検索機能」は使われてないのですが、せっかくなのでフレームを使わない方法でフレームページのような見映えにしたいです。
CSSも使ってなかったのでテンプレートの解読&参考書で勉強を始めましたが、複数ページに点在する目次欄を共通化する方法が分かりません。
/*やりたいこと/*
・トップページの目次欄には部署名24件がぶら下がり、それぞれの部署ページにも同じ目次欄を付ける。
・部署の増減があると、全ての目次欄で部署名の改編が必要。
・ひとつのファイルの目次欄を修正すると、全てのページで目次欄が更新されるようにしたい。
/*質問/*
・HTML+CSSで、フレームページのように常に共通の目次欄を使用する方法はありますか?javascriptも勉強し始めたばかりですみません(>_<)
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
フレームの問題は今更ですので繰り返しません。
ただ、とても古い技術で特定のページを表示した状態でブックマークしたり、他人に伝えられないのが最大の欠点で、社内ネットとしても最大の問題点となります。Q:たくさんのページに同じ内容のコードが含まれている。
いちいち書き換えるのは非現実的
通常は、とても古い--枯れた技術であるSSI---Server Side Includes( https://ja.wikipedia.org/wiki/Server_Side_Includes )を利用する方法で、HTTPサーバーは標準で持っています。
例えば、HTML内に
<!--#include virtual="/SSI/header_navigationList.htm" -->
というコードがあれば、その部分に/SSI/header_navigationList.htmにそのまま書き換えて提供してくれますから、/SSI/header_navigationList.htmを書き換えれば、そのコードの埋め込んであるすべてのページが書き換わります。
フレームだけでなく、新着情報とか、重要な連絡事項など。。
<!--#include virtual="/SSI/news.htm" -->
<!--#include virtual="/SSI/footer_doctypeInfo.htm" -->
とか、
Q: フレームに変わって、同様な利便性を持たせるには・・
フレームに変わるプレゼンテーションは、下記のように
★タブは_に置換してあるので戻す。
★Another HTML Lint - Gateway( http://www.htmllint.net/html-lint/htmllint.html# )
のDATA(右上)で検証ずみのHTML5です。
★タブレットやスマホでも利用できるはず。
<!doctype html>
<html>
<head>
_<meta charset="utf-8">
_<title>サンプル</title>
_<meta name="description" content="">
_<meta name="author" content="ORUKA">
<style media="screen">
<!--
body{background-color:gray;}
header{width:100%;height:200px;position:fixed;top:0;left:0;z-index:100;}
header nav{top:200px;width:200px;position:fixed;}
section{margin:200px 0 0 200px;position:relative;}
section h2,
section section{margin:0 200px 0 0;min-height:150px;}
section aside{position:absolute;top:0;right:0;width:200px;height:100%;}
footer{margin-left:200px;}
h1,h2,h3,h4{margin:0;line-height:1.8em;}
/* 色 */
header{background-color:aqua;}
section{background-color:silver;}
section section{background-color:white;}
footer{background-color:lime;}
section aside{background-color:fuchsia;}
-->
</style>
<style media="screen and (max-width: 640px)">
<!--
_section h2,
_section section{margin:0;}
_section aside{position:static;width:auto;height:auto;}
_section aside{background-color:red;}
-->
</style>
</head>
<body>
_<header>
__<h1 id="title">Your title</h1>
__<nav>
___<ul>
____<li><a href="#">Some</a></li>
____<li><a href="#">navigation</a></li>
____<li><a href="#">links</a></li>
___</ul>
__</nav>
_</header>
_<section>
__<h2>A smaller heading</h2>
__<p>
__</p>
__<section>
___<h3>A smaller heading</h3>
___<p>
____項目記事・・・
___</p>
__</section>
__<section>
___<h3>A smaller heading</h3>
___<p>
____項目記事・・・
___</p>
__</section>
__<section>
___<h3>A smaller heading</h3>
___<p>
____項目記事・・・
___</p>
__</section>
__<aside>
___<h3>Something aside</h3>
__</aside>
_</section>
_<footer>
__<h3>A nice footer</h3>
__<p>本文と直接関係ない補足記事など</p>
_</footer>
</body>
</html>
No.4
- 回答日時:
案1. Web ブラウザの機能で目次を挿入
各ページに <script src="/toc_part.js"></script> を仕込む。
toc_part.js に目次欄を生成する処理を書く。
案1その2
toc_part.js が AJAX 呼び出しをして、
toc_part.html を読み出して、
そのままページ内に挿入する。
参考)
https://developer.mozilla.org/ja/docs/AJAX
案1その3
toc_part.js が AJAX 呼び出しをして、
toc_part.json を読み出して、
データをもとに目次欄を生成する処理を書く。
参考)
https://developer.mozilla.org/ja/docs/Web/JavaSc …
案2. サーバー側の機能で目次を挿入
HTTP サーバーに SSI の機能を持たせ、
各ページに SSI を埋め込み、
toc_part.html をページ内に挿入する。
参考)
http://httpd.apache.org/docs/2.4/howto/ssi.html
https://msdn.microsoft.com/ja-jp/library/ms52594 …
案3. 公開前に目次を挿入
各ページに <!-- include src=toc_part.html -->目次欄<!-- /include --> を挿入
スクリプトを組み、上記の部分に toc_part.html を挿入する処理を行う。
変更があった場合は、スクリプトで全ページを更新する。
参考)
https://www.google.co.jp/search?q=%E3%83%86%E3%8 …
No.3
- 回答日時:
解決する方法は、dreamweaverを買ってもらってライブラリ機能を使用することです。
メニューなどの各ページ共通部分を1か所で管理できます。ライブラリ化したHTMLソースの共通部分を編集すると各HTMLファイルに自動的に反映してくれます。HTML+CSSでのデザインや配置は別問題としてあって、それぞれ覚える必要がありますがdreamweaverではCSSをGUIから操作できるインターフェースがあります。
////////////
もっとも効率的な更新ができる方法としてはCMSの利用というのもあります。これはサーバーにCMSのシステムをインストールする必要がありますのでサーバー管理者に相談する必要があるとおもわれます。
///////////
いずれにしてもいろいろな知識を必要とし、苦労することになりますので、現状維持が一番よろしいかとおもわれます。
No.2
- 回答日時:
HTML+CSSはかなり難しいです。
フレームのような管理のしやすさ(メニューは1ファイル)で尚、フレームではない作り方としてSSI(Server Side Include)という方法もあります。
私はこれで管理しています。
https://allabout.co.jp/gm/gc/23773/
No.1
- 回答日時:
社内向けであればフレームでOK!
フレームの欠点は「一意のページを表示できない」という事ですが、作るにはとても便利です。
社内向けだけであれば作成に時間が掛からないフレームで一向に構わないでしょう。
早速ありがとうございます!
フレーム推し嬉しいです(*^^*)
補足ですみません。
まだ先の話ですが、社内イントラ再構築の話があり、シェアポや何らかのポータル導入の話があがってます。なので、この機会にCSSデビューはするつもりでいます。
納期が間に合わないようならフレームで!でも出来れば新しい技術にもチャレンジして、使い勝手を確認したいです。
引き続き、お力添えのほどよろしくお願いします(>.<)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- アジア パスポート書類留意事項 3 2023/08/28 09:22
- JavaScript スマホ上で、左右スワイプで次のページに移動させたいです 2 2022/11/11 17:04
- PDF こんなPDF作れますか? 6 2022/05/13 11:14
- C言語・C++・C# 【C++】IDirect3DSurfaceのディープコピーは可能ですか? 1 2022/07/06 02:47
- PHP PHP ページング データベース 1 2022/06/16 10:30
- Excel(エクセル) Excel 在庫管理について 3 2023/02/09 10:00
- HTML・CSS Dreamweaver のテンプレートでの相対パスの設定について 2 2023/06/13 17:28
- その他(プログラミング・Web制作) 次に、楽天のアジャイル就活に参加して、1日で内定を獲得できる。私は大企業に就職できる? 2 2022/04/17 13:38
- その他(パソコン・スマホ・電化製品) エクセル初心者です。 仕事でエクセルを使っていて、普段は素人でもできる簡単な関数を使ったことがある程 1 2022/05/25 11:17
- ビジネスマナー・ビジネス文書 書類の書き直しはパワハラか? 6 2023/02/11 10:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
どのページもすべて同じURLなの...
-
フレームの中にFLASHを。...
-
フレームで困ってます。。助け...
-
ホームページの作成について
-
フレームでRSS(ニュースなど)か...
-
角の丸いフレーム(?)の作り...
-
フレームすくローリング有り/無し
-
タグの打ち方
-
ホームページのフレームでその...
-
隣同士のフレーム間のリンク?
-
ページのレイアウトの仕方について
-
フレームの幅を変更したい
-
フレーム内ページかの判別方法
-
どうしてフレームは嫌われるの?
-
フレーム内のPHPへPOSTで情報を...
-
フレームの片方だけを更新(リロ...
-
三分割フレーム(┤)で、左上の...
-
フレーム内に画像を表示する際...
-
ナビゲーションをフレームで上...
-
表の位置をスクロールしても動...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
どのページもすべて同じURLなの...
-
pythonのエラーについての質問...
-
フレームを使わずに画面分割し...
-
ボタンを押したときに特定のフ...
-
WebサイトでHTMLのフォームに隠...
-
フレームの表示と非表示の切り替え
-
HPの一部に他のHPを表示
-
フレーム内固有の場所へのリンク
-
WordファイルをHTMLに埋め込む方法
-
HPを作ってアップしたのですが...
-
ページが変わっても同じ音楽を...
-
フレームの廃止は本当ですか?
-
ブラウザで4分割表示できますか?
-
ページにパスワードをかける方法
-
フレームで
-
部分ページURLへのアクセスでト...
-
左フレームからのリンクを右フ...
-
上下フレームのあるページでの<...
-
サイドバーをいちいち全ページ...
-
フレームページが表示されない...
おすすめ情報