- ベストアンサー
フレーム有のページについて
こんにちは 現在ホームページを作成していますが、フレーム有のページ(例:A.html上下2段構成、中身はB.html、C.html)が多くなっています。 検索エンジンなどでB.htmlが引っかかったとき、C.htmlが表示されないのでは?と心配しております。つまりはA.htmlとして表示させたいってコトなんですけどね・・・。 このような要望なのですが、このようにするにはどういったソース(?)を書けばよいか御教授下さい。
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
CGIをわざわざ使わなくても、JavaScriptでもできますね。 B.htmlやC.htmlのページのソースに下記のように書き足せばOKだと思います。 <HTML> <HEAD> <TITLE>フレーム中の一つのページ</TITLE> <SCRIPT language="JavaScript"> <!-- function Ref(){ if (document.referrer != "http://www.○○○/~△△/A.htm"){ parent.top.location.href='http://www.○○○/~△△/A.htm'; } // --> </SCRIPT> </HEAD> <BODY onload="Ref()"> </BODY> </HTML>
その他の回答 (7)
- chausuyama
- ベストアンサー率23% (5/21)
CGIを使うとこんな感じでしょうか。 B、CにアクセスしてもAへとばします。 http://storm.prohosting.com/~xl23bb/test/a.html
- lmeelm
- ベストアンサー率52% (18/34)
すいません。}がひとつ抜けてました。 <SCRIPT language="JavaScript"> <!-- function Ref(){ if (document.referrer != "http://www.○○○/~△△/A.htm"){ parent.top.location.href='http://www.○○○/~△△/A.htm';} } // --> </SCRIPT> です。
補足。 CGIにする、ではなく、 CGIにHTMLを出力させる、です。 print文を使うだけです。
お礼
二度目の回答有難うございます。 返事が遅くなり申し訳ありませんm(__)m printですか、その前のCGIが分かればいいんですが・・・調べてみます。
ファイルをCGIに出力させる。 B、C、に直接アクセスされた 場合も、自動でAを出力する。 便利。私も使ってた。
お礼
回答有難う御座います。 ファイルをCGIに出力・・・?B及びC.htmlをCGIファイルにするということでしょうか? サンプルソースなり、参考ページなど頂ければ幸いです。
- rimuse
- ベストアンサー率36% (21/58)
nitto3さんではありませんが 擬似フレームというのはCSSを使ってフレームっぽく見せる方法です。 ロボット型の検索エンジンでも普通に大丈夫です。 肝心のやり方ですが、参考URLにのっていますので、参照してみてください。 2CHは探すの大変ですが。
お礼
回答有難う御座います。 1つだけ問題が・・・フレームの高さがパーセント表示しか指定できないとありますので、ここだけが引っかかります。1024×768画面が基本なのですが、上下2分割フレームの上部htmlのみ高さを指定しています。それが95とか62という微妙な数値で・・・これを崩したくないので迷っています。
- nitto3
- ベストアンサー率21% (2656/12205)
私の場合擬似のフレームにしています、無料プロバイダーの広告対策です。
お礼
早速有難う御座います。 議事フレームってなんでしょうか?知識がないので、分かりやすく説明していただけたら幸いです(^^ゞ
補足
って「議事」ではなく「擬似」でした・・・
- Black_Tiger
- ベストアンサー率21% (300/1391)
こんにちは。 つまりAが親フレームって事でしょうか? 簡単な解決策は以下の通り。 #登録制のサイトへは親フレーム(index.htmlとか)のみの登録 #ロボット型への登録はBとCにはMETAでロボット回避コードを入れる。 #「フレームで表示されていなければ………」でA.htmlへのリンクをはる。
お礼
さっそくありがとうございます。 ロボットサーチなどは教えていただいた手法で回避させます。 ところが、自己サイト内での検索も考えていますので、それだけではうまくいかなそうです・・・。 そこで、3つ目に仰っている手段を考えたいのですが、どの様に記述すれば良いか、再度教えて頂ければ幸いです。
お礼
回答有難うございます。 御教え頂いたこのやり方が私にとって一番いいかもしれません。なんせズボラですから(^^ゞ ありがとうございます、これを試して見ます。