
HTMLとJavascriptは初心者の部類です。
仕事上、ある元のHTML(index.html)のヘッダー部分を取り出し、別のHTML(header.html)に書き込み、何らかの方法で元HTMLへ、先程取り出して新しく作ったHTMLの内容を引き込めないか考えています。(他にも何枚もあるHTMLファイルのヘッダ部分を一度に共通化したい為。)ネットをぐるぐるさがして、phpやSSIなる技術を使うと簡単に出来るよと書いてありますが、サーバーの設定をいじらなければならないので、今はあえて触れていません。いろいろ探して、以下のサイトにJavascriptを利用して、別HTMLを引き込むスクリプトを発見したので、早速試してみました。
参照サイト:http://d.hatena.ne.jp/kenpoco/20080501/1209636103
HP編集用に、フリーソフトのHPProject2を利用しているのですが、そちらのビュー機能では正常に表示されるところまで作成できました(リンクや画像、CSS等も生きてます)。ただ、肝心のブラウザで見た時に、うまく読み込まれませんでした。
別の方法で、以下のサイトの方法も試してみました。
参照サイト:http://tani.dank-hearts.com/2008/03/javascriptht …
こちらに関しては、ビュー機能内でも正常に表示されず、header.html内の内容がそのまま文字列として出力されてしまったり、文字化けしてしまったりしました。
こちらの都合でソースコードを上げることができないので、説明不足かもしれませんが、同じような問題に遭遇した方や、なにか他に注意するべきことがあることをご存知の方がいらっしゃりましたら、お知恵をお貸しいただければとても助かります。よろしくお願い致します。
(プログラミング経験ですが、C言語はひと通り勉強しています)
No.4ベストアンサー
- 回答日時:
基本的にそのような目的にjavascriptは決して使いません。
ヘッダー部分は、検索エンジンが最初に解釈する部分ですが、検索エンジンはjavascriptなんて理解しません。検索エンジンどころかjavascriptでドキュメントの書き換えを禁止しているユーザーや、そもそもjavascriptを解釈しないユーザーエージェントには無意味です。高機能なテキストエディタで、一挙に書き換えるほうが断然早いし簡単です。
/^\t<div class="header">.*$\t<\/div>/$header/s;
とか・・・・・もちろんPerlを使っても良い。
もちろん、一番簡単なのはサーバー側で書き換えることですが・・phpもSSIも使わず、簡単なCGIだけで・・
.htaccess
AddType application/x-httpd-cgi html;
とでもして
html は単純なCGIで内容は
open FILE,$ENV{'PATH_INFO'};
while(<FILE>){
s/__HEADER__/$header;
s/__FOOTER__/$footer;
print;
}
とか・・・
この場を借りて、皆様に感謝申し上げます。みなさま回答ありがとうございました。おっしゃる通りだと思います。相当調べたのですが、やはり難しいし、本来の目的にそぐわない手段であることが重々わかりました。これは無謀な方法だったということが分かったことも、一つ勉強になったと思います。ありがとうございました。
No.3
- 回答日時:
JAVAScriptのDocument.writeでタグを書き出してくれます。
例えば
document.write('<p>あいうえお</p>');
これをヘッダ部にやればいけるかもしれませんが、たぶんダメでしょう。
理由はヘッダ部のJAVAScriptは多分、定義だけで実行しないのではないでしょうか。
それとヘッダ部が厳しい理由にもう1つ、遅延が挙げられます。
ヘッダ部が<head>ではなく<div class="header">の意味でしたら、
上記の方法で関数をよんであげればいいです。
DreamWeaverを使えば共通化ができます。
あまりにも必要だったらC言語なんかで変換プログラムを作った方が早いような。
どうせ相手はテキストですし。
No.2
- 回答日時:
1) Dreamweaver のような高機能な HTML エディタを使う。
ヘッダ、フッダなどの共通部分を無理なく、全ページ同時に編集できるらしいよ?
楽でいいね。
2) 高機能なテキストエディタをつかう。
複数ファイルにまたがって、文字列の置換ができるよ?
慣れれば、かなり早く一度に置換できるからおすすめ。
3) あとは、php や Perl をサーバじゃなくて、ローカルで実行して、出力される結果をファイルに保存してそれをサーバにアップロードする。
表結果を確認するのに、HTML の出力が必要だから、HTML と CSS に不慣れだと、すこし大変かな?
さいごに、
共通部分を JavaScript でインクルードすると、JavaScript を無効にしてるひとには全く表示されないからおすすめできないよ?
それなら、フレームで作ったほうがまだましかなぁ。。。
No.1
- 回答日時:
各ページのレイアウトを指定したいのでは無いですか?
若しそれで有れば『ヘッダ』の所でCSSファイルを指定すればOK
<link rel="stylesheet" href="http://www.XXX.com/home.css" type="text/css" />
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ameba(アメーバブログ) アメブロは、HTMLのタグの入力を許さないブログ・サイトですか? 1 2023/06/18 18:48
- ホームページ作成・プログラミング アメーバ・ブログは"HTMLタグ"を許可してないのですか? 2 2023/06/17 21:08
- その他(プログラミング・Web制作) 次に、楽天のアジャイル就活に参加して、1日で内定を獲得できる。私は大企業に就職できる? 2 2022/04/17 13:38
- JavaScript 読み込んだQRコードをフォームに受け渡したい 1 2023/05/18 11:18
- HTML・CSS 別サイトのHTML内にある情報を自動取得して、自分のサイトに組込む方法を教えてください。 例えば、Y 1 2023/06/15 08:09
- MySQL MySQL,JavaScript,PHPコードの結果を表示する方法を教えてください。 1 2023/02/13 17:49
- HTML・CSS リンクバナーのHTMLタグ。画像を変えたり、設置位置を変えるとバナー貼付け側はどう見える? 2 2023/02/01 12:01
- Excel(エクセル) VBA : スクレイピングできない 4 2023/05/12 22:26
- JavaScript HTML&CSS Javascriptによる動的テーブル 1 2023/03/27 19:51
- インターネット広告・アフィリエイト アフェリエイトサイト 作成について 5 2022/05/13 21:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストエディタvscodeでプロ...
-
ホームページを作りたいのです...
-
htmlファイルが開けません。
-
ある一行の変更を全ページに反...
-
SSIでインクルードしたファイル...
-
文字化けが直りません。
-
Dreamweaverでページ全体が文字...
-
Macでwebページを作成したい
-
eclipseを使ってweb上に表示さ...
-
テキストエディタ grepの機能...
-
JavaScriptが文字化けする
-
拡張子htmlの文書を.上書き保存...
-
HTMLからフォルダを開きたい
-
Excelで、社外秘(閲覧のみ)と...
-
フレームについて
-
Webサイトから、txtファイルを...
-
iPadの標準ブラウザでローカルH...
-
医療画像(Windows用)をMacで...
-
一つのリンクに複数のURLを指定
-
手打ちでhtml。その意義は (´...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストエディタ grepの機能...
-
テキストエディタvscodeでプロ...
-
エクセルで作成した表のハイパ...
-
Dreamweaverでページ全体が文字...
-
「x-sjis」「Shift_JIS」同じ意...
-
htmlファイルの表示が真っ白
-
SSIでインクルードしたファイル...
-
eclipseを使ってweb上に表示さ...
-
HTMLの<a>タグで [テキスト文(....
-
HP作成で…日本語と韓国語表示
-
Dreamweaverでソースが文字化け...
-
リソースビューが表示されない(...
-
DreamWeaver文字コードが変更さ...
-
htmlファイル を ソース...
-
HTMLファイルからリンクタグだ...
-
半角カタカナ(csvやtxtデータ...
-
オフラインでのHTMLについて
-
大切なデータを誤って上書きし...
-
CGIの開け方
-
メモ帳でデータが消えるのです...
おすすめ情報