• ベストアンサー

検索結果でフレーム全体を確実に表示させる方法はありますか?

複数のHTMLファイルで分割されたフレームの中で、ある特定のHTMLファイルだけ検索から引っかかってくると、そのファイルだけが表示され、フレーム全体が表示されない現象がおきるとよく言われていますが、 検索結果でフレーム全体を確実に表示させる方法はないのでしょうか。 よろしくお願いいたします。

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

  • ベストアンサー
回答No.6

if(window.self==window.top) window.top.location.replace(希望のフレーム); 尚、フレーム内のファイルがページ遷移した物を同等の機能で回避したい場合は、それ様のフレームファイルを別途用意する必要があります。 >検索結果でフレーム全体を確実に表示させる方法はないのでしょうか。 #5の回答は、勘違いされているか。 故に無理です。 JavaScript無効化されていながら、「検索結果でフレーム全体を確実に表示させる方法」があるのなら、はじめから JavaScript を使用する必要がありません。 ポイントは、該当ファイルは当初から望む形でフレームの一部として表示される場合もあるという事です。 JavaScript が無効な為にフレームの一部であるか判断方法がないという状況で、常に JavaScript が無効だからという事で望む状態であるフレームの一部としての表示であっても META でページ遷移させる? また、もしここで JavaScript が無効なのにフレームの一部であるか判断方法があるというのならば、元から JavaScript は不要であるという事になります。 尚、これが「検索結果でフレーム全体を確実に表示させる方法」ではなく、フレームの一部なのに単独で表示要求された時に別ページへ強制遷移させる方法だと少々違ってきます。 あくまで今回の回答は、フレームのページを単独ではなく出来るだけフレームで表示する様に努力する方法です。

tommas
質問者

お礼

詳しい解説をありがとうございました。解決いたしました。

その他の回答 (5)

回答No.5

JavaScript無効化されてたらダメと言う方がいますが、 それならページの遷移とか(HREF)をJavascriptで構成すれば、 元々JavaScriptをONにしなければページ自体が見えなくても、 なんら問題ないと思います。 その場合、METAタグでTOPページへの遷移を記述しておき、 Javascriptでそれを否定する文を書いたり、 NOSCRIPTの場合はMETA文を書くとか、 頭を使えばいくらでも対応のしようがあります。 今後 Web2.0 の機能としてメインで押し出されてくるのは、 Ajax、つまりJavascriptでしょう。 Javascriptがうざったいという時代はもう終わったのです。 それよりJavascriptを使用してどのようなページを作るか、 今後はそれがキーワードになって来るでしょう。 色々Webのニュースを見て下さい。 Javascriptはうざったいといわれて衰退していた時代から、 メイン機能で押される時代になってきたのですよ。 私がぱっと思いつくところでは、DeskNet'sというスケジュール管理系の グループウェアが、今年、Ajax対応版をリリースしました。

tommas
質問者

お礼

ありがとうございました。 下記の意味と具体的なコーディングを教えて頂けますでしょうか。 ”METAタグでTOPページへの遷移を記述しておき、Javascriptでそれを否定する文を書いたり、NOSCRIPTの場合はMETA文を書くとか。” また、これはJavascriptが無効なブラウザ設定においてもフレーム全体を表示させることができるということでしょうか。 よろしくお願いいたします。

回答No.4

>フレーム全体を確実に 無理です。どうしても条件が付きます・・・・・。 JavaScript を用いれば、当該ページが単独でブラウザ(window)に表示されているのか、上位に別ページがあるのかとかそのファイル名はとかいろいろ調べられます。 しかし、当然の事ながら JavaScript を無効にされれば調べられません。確実にと言われても回避しようがありません。 となると、どこまでやるか。フレームの枠内のページ(ファイル)をウェブ上の1ページとまで扱うか、単なるフレーム表示時の1素材と考えるか。 で、まぁとりあえず JavaScript でフレームを検証し状況によってページ遷移する仕掛けを作るとして・・・。 素材の1つにすぎないならその程度で終りかな。別に JavaScript が無効でも不便なだけで JavaScript の機能はあくまでサービスと。使える人だけ使えれば。 で問題がそれぞれページとして認識しているとなると、考え方によってはフレームを使うのが誤りという結論に・・・。 だって確実にフレーム表示というのは無理だから・・・。 まぁおまけでフレームが無効という場合もありますし・・・。 という事で、おまけ機能として JavaScript でフレームを検証(window.self と window.top を比較)し状況によってページ遷移する仕掛けでも付けて、JavaScript が無効な場合は無視というか諦めるのも1案です。

tommas
質問者

お礼

ありがとうございました。 ”JavaScript でフレームを検証(window.self と window.top を比較)し状況によってページ遷移する仕掛け”のコーディングを教えて頂けないでしょうか。よろしくお願いいたします。

回答No.3

あります。 Javascriptを使い、他のフレームのWindowが存在するかどうかをチェックし、 なければTOPページへ移動するというやり方です。 もちろん、このやり方にも穴はあるのですが、これでたいていいけると思います。

tommas
質問者

お礼

ありがとうございました。

回答No.2

検索エンジンはフレーム内のページも無作為に拾っていきますので サイト製作側が何もしなければ、直接全体を表示させることは出来ません。 あなたがサイト製作者で、ページをフレームごと表示させたい場合は こちらをご参考になさって下さい。 http://hp.xrea.jp/index.html 「フレーム」→「フレーム内のアクセスを防止する」の説明にタグがあります。 これはJavaを無効にしている場合には作動しませんので 確実に表示させられるとは限りません。 あなたが閲覧者で、そのサイトのトップページへ戻りたい場合は アドレスを少しずつ削って行って下さい。 http://××/○○/△△.html/でしたら、 http://××/○○/やhttp://××/でアクセスすれば、トップページに辿り付ける事が多い筈です。

tommas
質問者

お礼

説明が不足しておりましたが、SEO対策した特定のページを元にフレーム全体を表示したいのです。おそらくアクセスを防止はSEO効果を無効にしてしまうと思いますので、私の希望する対策ではありません。 ありがとうございました。

  • talepanda
  • ベストアンサー率58% (45/77)
回答No.1

ないです

tommas
質問者

お礼

ありがとうございました。

関連するQ&A