- ベストアンサー
検索結果でフレーム全体を確実に表示させる方法はありますか?
複数のHTMLファイルで分割されたフレームの中で、ある特定のHTMLファイルだけ検索から引っかかってくると、そのファイルだけが表示され、フレーム全体が表示されない現象がおきるとよく言われていますが、 検索結果でフレーム全体を確実に表示させる方法はないのでしょうか。 よろしくお願いいたします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
if(window.self==window.top) window.top.location.replace(希望のフレーム); 尚、フレーム内のファイルがページ遷移した物を同等の機能で回避したい場合は、それ様のフレームファイルを別途用意する必要があります。 >検索結果でフレーム全体を確実に表示させる方法はないのでしょうか。 #5の回答は、勘違いされているか。 故に無理です。 JavaScript無効化されていながら、「検索結果でフレーム全体を確実に表示させる方法」があるのなら、はじめから JavaScript を使用する必要がありません。 ポイントは、該当ファイルは当初から望む形でフレームの一部として表示される場合もあるという事です。 JavaScript が無効な為にフレームの一部であるか判断方法がないという状況で、常に JavaScript が無効だからという事で望む状態であるフレームの一部としての表示であっても META でページ遷移させる? また、もしここで JavaScript が無効なのにフレームの一部であるか判断方法があるというのならば、元から JavaScript は不要であるという事になります。 尚、これが「検索結果でフレーム全体を確実に表示させる方法」ではなく、フレームの一部なのに単独で表示要求された時に別ページへ強制遷移させる方法だと少々違ってきます。 あくまで今回の回答は、フレームのページを単独ではなく出来るだけフレームで表示する様に努力する方法です。
その他の回答 (5)
- mozomozo123
- ベストアンサー率27% (59/214)
JavaScript無効化されてたらダメと言う方がいますが、 それならページの遷移とか(HREF)をJavascriptで構成すれば、 元々JavaScriptをONにしなければページ自体が見えなくても、 なんら問題ないと思います。 その場合、METAタグでTOPページへの遷移を記述しておき、 Javascriptでそれを否定する文を書いたり、 NOSCRIPTの場合はMETA文を書くとか、 頭を使えばいくらでも対応のしようがあります。 今後 Web2.0 の機能としてメインで押し出されてくるのは、 Ajax、つまりJavascriptでしょう。 Javascriptがうざったいという時代はもう終わったのです。 それよりJavascriptを使用してどのようなページを作るか、 今後はそれがキーワードになって来るでしょう。 色々Webのニュースを見て下さい。 Javascriptはうざったいといわれて衰退していた時代から、 メイン機能で押される時代になってきたのですよ。 私がぱっと思いつくところでは、DeskNet'sというスケジュール管理系の グループウェアが、今年、Ajax対応版をリリースしました。
お礼
ありがとうございました。 下記の意味と具体的なコーディングを教えて頂けますでしょうか。 ”METAタグでTOPページへの遷移を記述しておき、Javascriptでそれを否定する文を書いたり、NOSCRIPTの場合はMETA文を書くとか。” また、これはJavascriptが無効なブラウザ設定においてもフレーム全体を表示させることができるということでしょうか。 よろしくお願いいたします。
- koutarou504
- ベストアンサー率44% (182/407)
>フレーム全体を確実に 無理です。どうしても条件が付きます・・・・・。 JavaScript を用いれば、当該ページが単独でブラウザ(window)に表示されているのか、上位に別ページがあるのかとかそのファイル名はとかいろいろ調べられます。 しかし、当然の事ながら JavaScript を無効にされれば調べられません。確実にと言われても回避しようがありません。 となると、どこまでやるか。フレームの枠内のページ(ファイル)をウェブ上の1ページとまで扱うか、単なるフレーム表示時の1素材と考えるか。 で、まぁとりあえず JavaScript でフレームを検証し状況によってページ遷移する仕掛けを作るとして・・・。 素材の1つにすぎないならその程度で終りかな。別に JavaScript が無効でも不便なだけで JavaScript の機能はあくまでサービスと。使える人だけ使えれば。 で問題がそれぞれページとして認識しているとなると、考え方によってはフレームを使うのが誤りという結論に・・・。 だって確実にフレーム表示というのは無理だから・・・。 まぁおまけでフレームが無効という場合もありますし・・・。 という事で、おまけ機能として JavaScript でフレームを検証(window.self と window.top を比較)し状況によってページ遷移する仕掛けでも付けて、JavaScript が無効な場合は無視というか諦めるのも1案です。
お礼
ありがとうございました。 ”JavaScript でフレームを検証(window.self と window.top を比較)し状況によってページ遷移する仕掛け”のコーディングを教えて頂けないでしょうか。よろしくお願いいたします。
- mozomozo123
- ベストアンサー率27% (59/214)
あります。 Javascriptを使い、他のフレームのWindowが存在するかどうかをチェックし、 なければTOPページへ移動するというやり方です。 もちろん、このやり方にも穴はあるのですが、これでたいていいけると思います。
お礼
ありがとうございました。
- sorahikari
- ベストアンサー率60% (28/46)
検索エンジンはフレーム内のページも無作為に拾っていきますので サイト製作側が何もしなければ、直接全体を表示させることは出来ません。 あなたがサイト製作者で、ページをフレームごと表示させたい場合は こちらをご参考になさって下さい。 http://hp.xrea.jp/index.html 「フレーム」→「フレーム内のアクセスを防止する」の説明にタグがあります。 これはJavaを無効にしている場合には作動しませんので 確実に表示させられるとは限りません。 あなたが閲覧者で、そのサイトのトップページへ戻りたい場合は アドレスを少しずつ削って行って下さい。 http://××/○○/△△.html/でしたら、 http://××/○○/やhttp://××/でアクセスすれば、トップページに辿り付ける事が多い筈です。
お礼
説明が不足しておりましたが、SEO対策した特定のページを元にフレーム全体を表示したいのです。おそらくアクセスを防止はSEO効果を無効にしてしまうと思いますので、私の希望する対策ではありません。 ありがとうございました。
- talepanda
- ベストアンサー率58% (45/77)
ないです
お礼
ありがとうございました。
お礼
詳しい解説をありがとうございました。解決いたしました。