• ベストアンサー

ソース一括変更

現在、ホームページを作成中の者です。 自分で作成した案内ページの記述の一部をHOMEに掲載しようと思っています。しかし、毎度案内ページを変更するごとにHOMEも同じように変更するのは非常にめんどうです。それを省略したいと思っているのですがそのような方法はあるでしょうか?? ↓詳しく↓ 案内ページ.html(名前は例)の一部の文章(スクリプト)をHOME(index)で読み込ませることにより、案内ページを編集するだけでHOMEの掲載文章が変わる。そんなシステムがほしい!! 略図(こんな風にしたい!!例) 紹介ページ.html ------------------------------------------------------- NEW!!PC紹介!!。<BR> <!----↓からindexに抜き出し> DELL 530<BR> このPCは~~~~~~<BR> IBM 220<BR> このPCは~~~~~~~~<BR> <!-----ここまで抜き出し!!----> ------------------------------------------------------- index.html ------------------------------------------------------- ようこそ!!<BR> PCNEWS!! <!----紹介ページの情報を↓で公開----> 何らかの方法 <!----ここまで----> --------------------------------------------------------- わかりにくい説明でスミマセン。 たぶんJAVASCRIPTだと思ったのでこのカテゴリーで質問しましたが、JavaScriptではない方法でもかまいません。 ご回答よろしくお願いいたします。

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

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

JavaScriptでは拡張子にjs(JavaScript)とついたファイルを外部から呼び出して使うことが出来ます。これを使うと複数のファイルの同時修正が一回で出来ます。 やり方は、 ・呼び出される側のjsファイル(複数の箇所に使いたいファイル)を作ります。新規作成⇒テキストエディタで新規作成します。そこに、 document.write("複数箇所に使いたい文章"); とだけ書きます。エンコードするときは、htmlだったらUnicodeですが、jsファイルの場合はUTF-8でないと文字化けします。 ・呼び出す側のソースは、<body></body>の間に <script type="text/JavaScript" src="jsファイルのパス"></script> と書きます。パスの例は、相対パスの場合「test.js」みたいな感じです。完了です。   これで出来ると思います。参考にしたページです。 http://allabout.co.jp/internet/javascript/closeup/CU20030521/index.htm#3

参考URL:
http://allabout.co.jp/internet/javascript/closeup/CU20030521/index.htm#3
hahahades
質問者

お礼

おおお わかりやすい説明ありがとうございます。早速試してみます!!

hahahades
質問者

補足

解決いたしました。 解決した方法を参考のために書いておきます。 .jsファイルの設定 document.write('testテスト');などと入力し、「test.js」で保存。 表示側のHTMLは、 <script type="text/JavaScript" src="jstest/test.js"></script> と打ち込んで終わり。 文字化けは私の場合しませんでした。 助かりました本当にありがとうございます!!

その他の回答 (5)

noname#137826
noname#137826
回答No.6

No. 5です。 書き方が悪くて誤解を招いてしまったかもしれません。(1)はXMLという名前がついていますが、扱う内容はXMLに限りません。HTMLでもtextでも構いません。(2)は確かにXMLになります。しかし、ローカルでHTMLに変換してからアップすることもできますので、サーバが対応しているかどうかという心配はないはずです。 No.2の方のものがわかりやすいとのことのでそれで試していただき、もう少しJavascriptに慣れた頃、あるいは扱う内容が増えてコードを書くのが大変になってきた頃に、そういえば他にもあったなと思い出していただくひとつになれば幸いです。

hahahades
質問者

お礼

ご回答感謝します。 落ち着いたらこちらの方法も試してみようと思います。

noname#137826
noname#137826
回答No.5

こんにちは。 私もNo.1さん同様に、案内ページとhomeの両方から一つのファイルの内容を参照するのが簡単だろうと思います。 これまでに挙げられていない方法としては (1) XMLHttpRequestを使う これはJavascriptでファイルを読み出す動的な方法です。 非同期通信に使われて注目されていますが、ご希望の用途にも使用可能かと思います。 (2) XMLでパーツを書いておき、XSLTで組み合わせて最終的なHTMLファイルを作成する これは静的な方法です。JavascriptをOFFにしていても表示されます。 ソースファイル(XML)をルール(XSL)に従ってHTMLファイルに変換するというプロセスになります。 従って、XSLTプロセッサ(無料で手に入ります)が必要があります。 (最近の新しいブラウザであれば、適切にソースを書けば、XSLTプロセッサによる変換不要で直接表示してくれます) 詳しく書くとすこぶる長くなってしまうので、XMLHttpRequest, XSLT などで検索して例をご覧になってみてください。

hahahades
質問者

お礼

なるほどXMLですか。 XML+HTMLは理解できるのですが、XMLに関しては無知識なので使用する場合習得に時間が必要そうです。また自社サーバーにUPするわけではない(ジオシティーズ+)ので、対応しているかの問題点もあります。

noname#113783
noname#113783
回答No.4

NO2です。書き忘れましたが、jsファイルを作るときは拡張子を「***.js」にしてください。編集するときはまた「***.txt」にすれば編集できます。

hahahades
質問者

お礼

補足ありがとうございます!!

  • pick52
  • ベストアンサー率35% (166/466)
回答No.3

(インライン)フレームやSSI、またはPHPなどを利用した方がいいような 気がします。 サーバ側の依存性がまずないのはインラインフレームを使用する方法 ですが、クライアント依存です。 SSIやPHPなどはサーバ側が対応していないとできません。 インラインフレームを使用する方法が最も技術的にも簡単で、 分かりやすいかなと思います。 こんな感じでしょうか。 <iframe src="URL" width="100%" height="20"> フレームに対応していない場合は <a href="URL">URL</a> をご覧ください。 </iframe> http://www.tohoho-web.com/html/iframe.htm

hahahades
質問者

お礼

PHPとはCGIのことでしょうか?? ジオシティーズ+を利用しているのでたぶん可能だと思います。 あとは実験あるのみです。 ご回答ありがとうございます。

回答No.1

どうせなら、ホームページと案内ページのどちらからも外部の 案内テキストを保存したファイルを引っ張るスクリプトを 仕込んだ方が早いような気がします。 呼び出しスクリプトは貴方が使いこなせるならjavascriptでもphpなど でも、構わないと思います。

hahahades
質問者

補足

ご回答ありがとうございます。 そのJAVASCRIPTの中の何を使えばいいかわからないのです。 JavaScriptに関してあまり詳しくないのです(;^ω^) よろしくお願いいたします。

関連するQ&A

  • HTML化によるホームページの高速化方法について

    HTML内で外部サーバにあるCGIをjavascriptとして起動させて、 結果を表示する方法を行っていますが、実行させるjavascriptの数が多くなるに連れて ページが表示されるまでに時間がかかってしまいます。 そこで、ページが表示されるたびに毎回javascriptを表示させる方式(下例のold.html)ではなく、 old.html内のjavascript部分を実行させたものをHTML化したnew.htmlを 自動で作成するcgi(下例のtranslate.cgi)などを作りたいと考えていますが、 どのように作ればいいのでしょうか。 【old.html(一部抜粋)】 <BR>下記にtest.cgiの実行結果が表示されます!<BR> <SCRIPT language="javascript" src="http://www.xxx.com/test.cgi"></SCRIPT> 【test.cgi(一部抜粋)】 print "Content-Type: application/x-javascript\n\n"; print "document.write('<P>test.cgiの実行結果だよ</P>');"; 【new.html(一部抜粋)】 <BR>下記にtest.cgiの実行結果が表示されます!<BR> <P>test.cgiの実行結果だよ</P> ●translate.cgiの仕様は、下記の内容を考えています。 perlについては少しだけ理解はしているのですが、 (3)部分のプログラム方法がわかりません。 【translate.cgi】 (1)old.htmlファイルをオープンする (2)old.htmlファイルを一行ずつ読み込み、javascript以外であれば、 そのままnew.htmへ書き込む (3)javascriptの場合には、実行させた結果を取得しnew.htmlへ書き込む 大変お手数お掛けいたしますが、 どうぞよろしくお願い致します。

    • ベストアンサー
    • Perl
  • 別のページにあるiframeに、CGIの結果を表示させたい。

    こんにちわ。javascriptで出来るという噂を聞いたのですがjavascriptは初心者でして、どうしたら良いものか分からず、助けを求めております…。 indexというページに、CGIへの結果のリンク一覧が掲載してありまして、それをクリックすると、kekka.htmlの中のiframeに呼び込まれて、kekka.htmlが表示される、というのは出来るのでしょうか…。 色々調べてみたのですが、iframeを2つ以上制御する、というのですとかはあったのですが、違うページの中のiframeを制御、という方法がわからなくて…。 大変分かりづらい質問でスミマセンが教えて頂けますと幸いです。どうぞ宜しくお願いいたします。

  • 変更されたブックマークのURLを一括編集したい

    windows XP 、Firefox 使っています。 ブックマークに入れていた同じサイト(200ページ程度)のアドレスの一部が変更されたようで 見れなくなってしまいました。 良く見ると、 例) http://abcd.jp/0001/ アドレスの一部分、「abcd」の部分だけが「abcde」と言う感じに全て変更されたようなので 入れていたブックマークのURLをこの部分だけ変更したいのですが、 ひとつづつコピペで変更していく、または正しいページへ飛んでからブックマークに入れ直しですとめんどうなので何か一括で「abcd」→「abcde」にできる方法はありませんか? テキストでの置換のような、それでもってコピペの手間がほとんどないようなやり方なんて ありませんかね? ブックマークに入れていたアドレスを一括で抽出することがまずできません。 あまり簡単じゃなくても良いので一個一個変更していくよりマシだと思うやり方があれば 教えてくださいませんか?

  • 著作権について情報を紹介ください

     次の事例で、著作権を守っているかどうか、著作権利用申請が必要かを確認したいのですが、似たような事例を掲載しているインターネット画面の紹介をお願いいたします。  A) 書籍名ややインターネット掲示サイトを明示して、内容の一部を私製頁に転載・保存(コピペというのでしょうか)、私的に頁を綴って活用。 B) 私的に「頁を綴ったファイル」をボランティア活動仲間に公開。(部屋に置くので管理は不十分です) C)「Bのファイル」をボランティア仲間が自分用に1部複写して活用。 このことに(A)(B) を行いました私にも著作権関係の責任がありますか。 D)  (B)ファイルの一部の頁(具体的には数行のみ・ごく一部の表や略図)を、学童用に教諭が複写して、配布することは頁を作成した私の責任でしょうか、 (A)のように出典を明示していれば、教諭に見せてもよろしいのでしょうか。 今後の活動もありますので、似たような事例・レベルを紹介しているネットサイトの紹介をお願いいたします。  

  • ソースの見えるフレームは擬似フレームですか?

    HTMLを勉強しているので、 暇があると色々なページのソースを見ています。 そこで気づいたのですが フレームページはソースを表示させると 大元のフレームソースしか表示されませんよね? でも一見、フレームのような作りでも 普通にメイン画面のソースが表示されるページも あるようです。メニュー側でソース表示すると そちらもきちんと見えます。 例えば・・・ http://www.solon-saga.jp/ ソースにJavaScriptの記述がありますが、 こうしたページは擬似フレームになるのですか? それともindex.htmなどをフレームにしてページをいれ、 通常どおりフレームセットを作りながら何かの方法で 普通にソースを表示させる方法などがあるのですか? DynamicHTMLやスタイルシートなどもチラッと 調べてみたのですがいまいち判りません。 よろしくお願いします。

  • 既に開かれているウィンドウのメニューバーなどのスタイル変更

    新しく開かれたウィンドウのサイズ変更、メニューバーなどをなくしたいのですが、どうすればよいですか? 問題は、あるところから飛ばされてきており、ページが既に開かれている状態なので、前のページでwindow.openなどのjavascriptが使えないことです。。。 ソースは現在、下記のような感じです <script language="JavaScript"><!-- resizeTo(500,300); function thisopen(){ open("index.html","_self","menubar=no,toolbar=no"); // --></script> <body onload="thisopen()"> 上のように、リサイズは出来ますが、メニューバーを消すことが出来ません。javascriptじゃなくてもいいのですが、ページが開かれたときに、1度だけリロードのような形でそのページを開きなおすのがいいのかとも思っています。 何か他の方法、ありませんでしょうか!?説明が足りませんかもしれませんが、どうぞよろしくお願いします。

  • ビルダー7でHTMLのソースにCGIを組み込む方法

    特に公開するためのホームページではなく、勉強がてら自分の仕事をホーム ページ風に管理できたらと思い挑戦しています。(ノートPC) ページの左フレームに仕事のメニュー、右フレームは写真やいろいろです。 左の各メニューをクリックすると対応したフォルダーやファイルを表示したり 作業して又戻ったりはできるのですが、右フレーム内に5行の入力枠を作りメモ書き(書込みや削除)できたらと考え、教えてgooを検索しましたが 探せませんでした。CGIを使えばできるようですが回答かサイトご存知 でしたら教えていただけませんか ソースを見ると次のようになっており、画面では入力や削除はできますが IEを終わらせ次回起動させたときは空白です。CGIはほとんど知りません <INPUT name="No1" size="107"><BR> <INPUT name="No2" size="107"><BR> <INPUT name="No3" size="107"><BR> <INPUT name="No4" size="107"><BR> <INPUT name="No5" size="107"><BR>

    • ベストアンサー
    • HTML
  • Front Page2000で<noscript>がうまく使えないのはなぜ?

    Front Page2000を使ってHPを作っているのですが、<noscript>がうまく保存されません。ノートパッドで保存すればよいことなのですが、気になっています。 <HEAD> <noscript> <P>これより先は、JavaScriptを使用しています。<BR> 現在、未対応でも御覧いただけるよう、未対応ページの作成を検討しております。<BR> 現時点では、未対応ページがございません。<BR> 申し訳ありませんが、JavaScript対応ブラウザで御覧下さい。m(._.=)mぺコ<BR></P> </noscript> </HEAD> と <HEAD>と</HEAD>の間に書くのですが、保存をすると <HEAD> <noscript> </HEAD> <P>これより先は、JavaScriptを使用しています。<BR> 現在、未対応でも御覧いただけるよう、未対応ページの作成を検討しております。<BR> 現時点では、未対応ページがございません。<BR> 申し訳ありませんが、JavaScript対応ブラウザで御覧下さい。m(._.=)mぺコ<BR></P> </noscript> と、こんな感じになってしまいます。 これはなぜなのでしょうか? 理由や対処方法をご存知でしたら、教えて下さい。よろしくお願い致します。

  • HTMLファイルを一括印刷するフリーウェアはありますか?

    私のホームページ(100ページ)を印刷して保存したいのですが、何か、良いソフトはないでしょうか? 100ページ全部開いて印刷するのではなく、もっと、簡単に印刷する方法を探しています。 また、ホームページの文章のみを取り出して印刷するソフトも探しています。もし、ご存知でしたら、紹介宜しくお願い致します。

  • 日毎にページデザインをローテーションしたい

    ご相談させて下さい。 今、作りたいウェブページなのですが、日々、トップページの一部デザインをローテーションさせたいと思っています。 トップページに、掲載記事へのリンクと説明文が記載されているボックスが5つあり、これが縦に並んでいます。この順番を、毎日0時に入れ替えて、5日で一回りのローテーションにしたいのです。 JavaScript等でCSSを毎日切り替えるといったようなを制御出来ないものかと考えているのですが、HTMLとCSSをある程度とJavaScriptとCGIを極少しいじったことがあるだけ程度のスキルなので良い方法が思いつきません。 まったく違った方法をも含め、妙案授けて頂けたらと思います。宜しくお願い致します。

    • ベストアンサー
    • CSS