• ベストアンサー

頻繁にナビゲーションリストを更新する場合

現在触っている、いくつかのウェブサイトをxhtml+css の書式に変更しているところなのですが、 慣れずに問題がでてきています。 問題のサイトは少し特殊で、リストの数や内容が頻繁に更新されるので 更新の利便性を図るためフレームを使用していました。 そんなサイトをxhtml+cssにする場合に、同じく利便性を図ろうとすれば、 どのような手法が考えられますか? 今のところ更新時に、ローカルサイト内一斉検索&置換で対応しようとしているのですが、 複数がソースを触るので置換漏れなどもおきてくるのでは、と心配しています。 フレーム以外の方法で外部のリストデータを読み込むことは可能ですか? その場合のデメリットなども含め、皆様の考え方を教えて頂けませんでしょうか。

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

  • ベストアンサー
  • abril
  • ベストアンサー率69% (388/560)
回答No.3

> 実際JavasScript非表示のユーザーっているんでしょうか。 このご時世、JavaScriptを一切使用していないサイトの絶対数はかなり少ないとは思いますので、ユーザの側もJavaScriptを受け入れざるを得ない状態を半ば強制されているとは思いますが、100%いない、とは言い切れないですね。なので、もしその様なユーザが閲覧した場合、肝心のメニューが表示されない状態になってしまうのは事実です。<noscript>を併用して、その中にJavaScript非対応の場合の代替内容を出すことはできますが、そうすると結局個々のHTMLファイルにナビゲーションを書くことになってしまい、一括管理の利便性は全くなくなってしまいますね。ですので、せいぜい「このサイトはJavaScriptを有効にした状態で閲覧して下さい」的な断り書きで防波堤を作っておくぐらいが実際の対処法だと思います。 > 今思ったのですが、CSSのメリットとしてナビゲーションリスト部分もキーワードとしてマークアップされていると考えると、外部にしてしまうのももったいないのかなと。 そうですね。インクルードされる内容が実際にはそのファイルにHTMLコードとして書き出されないJavaScriptの場合であれば、確かにそういう局面も考慮の対象になるかと。 > そう考えると、No.1様のように、ソフトの機能を使って管理するのが良いのでしょうか。 質問者様がライブラリ機能などを使用できて、そちらの編集作業だけでも管理が容易になると感じられるならば、そうされた方が良いかもしれません。「どの部分を優先するか」というプライオリティを決めて、採用するに相応しい方法を選んで下さい。

takeetakee
質問者

お礼

フォローまでして頂いて、ありがとうございます。 すっきりと問題全体の状況が見渡せました。

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

その他の回答 (2)

  • abril
  • ベストアンサー率69% (388/560)
回答No.2

> xhtml+cssにする場合に、同じく利便性を図ろうとすれば、どのような手法が考えられますか? CSS自体はナビゲーション部分を独立して管理できる様な機能を担いませんので、CSS導入による利便性があるとすれば、適切なプロパティの定義とマークアップを組み合わせることで: ・ナビの増減や変更で画像を一々作成・修正しなくても済む様になる ・リストタグで自由度の高いレイアウトのナビを組める様になる ・フレームを使用せずにフレーム的表示も可能になる という様な事が実現できる、という程度でしょうか。なので、質問者様が今回希望されている様な、 > フレーム以外の方法で外部のリストデータを読み込む という目的を実現するのはCSSに依るものではなく、SSIやJavaScript、あるいはPHP等のサーバサイド・スクリプトによって外部ファイルにしたリストをインクルードして表示させる、といったものを使って、という事になると思います。いずれの場合も、階層によってリンク先・元に相応しいパスが変わりますので、ルートからの絶対参照にするかあるいはカレント・ディレクトリを取得する様な設定は必須ですし、また現在表示されているメニューをハイライトする、等のオプションがあるなら更にそれを実装する為の設定してやる必要があるでしょう。 SSIやPHPはサーバ環境により使用が制限されている事もありますので、とりあえず手っ取り早いのはJavaScriptにして外部ファイルをdocument.wirteで書き出す感じでしょうか。 それぞれのデメリット等についてはANo.1様が回答されている通りですので、ご自分に一番適した方法をご検討下さい。

takeetakee
質問者

お礼

ありがとうございます。 JavaScript 絶対参照 が現実的なようですね。 実際JavasScript非表示のユーザーっているんでしょうか。 今思ったのですが、CSSのメリットとして ナビゲーションリスト部分もキーワードとしてマークアップ されていると考えると、外部にしてしまうのももったいないのかなと。 そう考えると、 No.1様のように、ソフトの機能を使って管理するのが良いのでしょうか。 どうもありがとうございました。

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

いくつか考えてみました。 Dreamweaver等ならライブラリやテンプレート使うのがベストだと思いますが そういう機能がないソフトをお使いなのでしょうか? それともテンプレートやライブラリ化できないものなのでしょうか ・CMSを使う  →インストール等使用までの設定が面倒  →テンプレート作成が難しいかもしれない ・PHPにしてinclude()とかrequier()でリストを読み込む  →PHPに変更する必要がある ・javascriptのdocument.writeで書き出す  →javascript無効だと表示されない ・Ajaxライブラリで(prototypeならInsertion、mootoolsならinject)  →javascript無効だと表示されない  →コード書くのが難しいかもしれない

takeetakee
質問者

お礼

どうも、ありがとうございます。 Dreamweaverのテンプレート・・・こうゆうときこそ使うんですね。 早速使ってみます! CMS,Ajaxというのも数年前からよく聞きますが、 デザイン畑にはなかなか怖くて近寄れません。

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

関連するQ&A