• ベストアンサー

フレーム内のページを単独で表示できないように

今、PHPの初心者で勉強中です。 フレーム内のページを単独で表示できないようにする方法を知りたいです。 a.phpからb.php(b.phpでは左半分にc.php、右半分にd.phpを表示)にリンクしています。 ここでc.phpやd.phpをブラウザの「別タブ(ウィンドウ)で開く」で単独で開く事ができないようにしたいのですが、 Javascript以外の方法で何か無いでしょうか? こういった形でのフレームの使用がよくない、と言うのは承知ですが、どうぞよろしくお願いします。

  • PHP
  • 回答数2
  • ありがとう数0

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

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

社内向けのページなど「ユーザ環境が限定できる」のであれば、 リファラを使うというアイディアもあります。 http://ameblo.jp/linking/entry-10954227995.html 基本的に ・フレームページから開かれた場合は、そのURLがリファラに入る ・「別タブで開く」などをした場合は、リファラが空になる ことから判別します。 ただし、このリファラは、ユーザのブラウザ設定やネットワーク 経路上の機器によって、消失してしまうことが多々あり『フレーム ページから開いたのにリファラが空になる』というトラブルがよく 発生します。 使用しているブラウザやネットワークの把握が可能なできる社内 向けのページならともかく、インターネット公開して不特定の ユーザが使うページでは使いにくいですね。

その他の回答 (1)

noname#244856
noname#244856
回答No.1

>> こういった形でのフレームの使用がよくない、と言うのは承知ですが、どうぞよろしくお願いします。 せっかくPHPを使っているのになぜこの形を取るのか全く理解できません。PHPが使えるなら「menu.php」「header.php」などとパーツを分離してHTTP経由でアクセス出来ない場所に設置しておき、他のファイルからrequire/includeすることで簡単に埋め込みが可能です。(静的なHTMLでない)モダンなウェブサイトの99.99%はこの方法を採っていると思います。 また、framesetタグはHTML5で廃止されたのはご存知でしょうか?非推奨ではなく「廃止」です。 >> ブラウザの「別タブ(ウィンドウ)で開く」で単独で開く事ができないようにしたいのですが、Javascript以外の方法で何か無いでしょうか? 不可能です。

関連するQ&A

  • フレームページ

    OSはXPで、ブラウザはIE6.0を使用としているのですが、 フレームページのサイトを快適に閲覧できないのです。 たとえば縦に2つに分割してあるページで左のページに a.htmlとb.htmlのリンクが貼られており、 a.htmlをリンクしてある文字をクリックすると 右のページにa.htmlが表示されるとします。 そして右のページに表示されたa.htmlを閲覧して (あるリンクをクリックするとかスクロールなどして)、 また左のページにリンクが貼ってあるb.htmlを見ようとして、 クリックしても選択はされるのですが (文字の周りにドットの点線がつく状況)、 右ページにも左ページに表示されないのです。 つまりフレームページで、1回目に左ページで リンクボタンを押すと右ページに表示はされるのですが、 2回目以降から左ページに貼ってあるリンクを押しても 反応しないのです。 ある特定のサイトのみではなく、フレームページを使用している サイトを閲覧する時はほぼこの現象が発生します。 IE7.0以降をインストールしたら直るのですが、 強制終了しやすいので結局6.0バージョンのままなので、 IEのバージョンアップ以外の方法で何かいい方法あれば 教えていただきたいです。 説明が難しくてわかりにくいとは思いますが わかる方いらっしゃれば、どうか回答よろしくお願いします。

  • HP フレームページを開き、更にページを開きたい

    左右に分割されているフレームがあります。 indexページから <A href="illust.html" target="top">フレーム</a> とリンクさせており、フレームページに飛びます。 左フレームに「A」、「B」、「C」、「D」と…リンクが張ってあり、 「B」をクリックすると、右フレームに「B」ページが表示されます。 <A href="b.html" target="right" >B</a> indexページから、フレームにリンクさせたら、フレームページが開かれますが、 さらに「B」ページを開いた状態にすることは可能でしょうか? 今の状態だと、フレームページが開かれるだけで、手動で左フレームから「B」をクリックするのが手間なのですが…。 ビルダー等のソフトは使用しておらず、メモ帳でタグを書いています。

    • ベストアンサー
    • HTML
  • フレームの表示切替について

    以前にHTMLカテゴリで質問した内容ですが、再度こちらで質問します。 http://okwave.jp/kotaeru.php3?q=2183227 フレーム分割したページの表示方法で悩んでいます。表示内容は、 index.html内でa.htmlとframe1.html frame1.html内でb.htmlとframe2.html frame2.html内でc.htmlとd.html c.htmlとd.htmlに関しては、両方表示するframe3.htmlと d.htmlの幅が0のframe4.htmlを用意、frame2.html内で表示する形式 c.html表示部分はメイン表示画面として、c.html以外のページも表示 悩んでいるのは、c.htmlとd.htmlの表示方法についてです。 現在は、c.htmlにframe3.htmlへのリンクを、d.htmlにframe4.htmlへのリンクをつけていますが、この方法ですと、 frame3.htmlに表示を切り替えるためにc.htmlが表示されてしまいます。 c.html表示部分が現在表示されているページのままframe3.htmlの状態にしたいのですが、何か方法はないでしょうか。 どなたかご回答よろしくお願いします。

  • フレームになるとページが切り替わらない

    こんにちは。最近ネットサーフィンをしていて気づいたのですが、フレームを使用しているサイトで、フレームからCGI(掲示板やオエビやブログなど)などhtmlではないページに飛ぶと、他のリンクを押しても反応しなくなります。 例えば左メニューのフレームから右フレームにブログを表示させると、左フレーム内のリンクを押してもページが開かなくなります。 これはブラウザの問題なのでしょうか? インターネットの設定を変えると元に戻るのでしょうか?

  • フレームの表示と非表示の切り替え

    新しいWebページをフレームを使用して作成するのですが、表示切替で詰まっています。 フレームの構成は「まず上下に分割、その後下半分を3等分」という形なのですが、3等分された下半分(左からA、B、C)のうち、Cの表示・非表示を切り替える機能がほしいのです。具体的には「Cのリンク(ボタン)クリックでCが非表示になり、Bのリンク(ボタン)クリックで再度表示されるようにしたいのです。 どなたかご回答お願いします。

    • ベストアンサー
    • HTML
  • URLを引数とし、フレーム間で渡す方法

    こんにちわ。 現在開発しているWEBページで、困っています。 まず、最初のページで、フレームが左右に分割しています。 左フレームAはリンクがたくさんはってあります。 右フレームBはトップロゴがあります。 右フレームBのロゴを押すと、右フレームはさらに上下に分割し、上フレームCはヘッダーとして使用し、下フレームDは詳細画面になっています。 左フレームAのリンクを押すと、下フレームDの内容が変わるのですが、フレームが4つ(A,B,C,D)に分割される前に左フレームAのリンクを押してしまうと、新しくブラウザが開かれてしまいます(Targetがないため) そこで、URLを引数として、上下画面にフレーム分割をするソースに受け取った引数URLをフレームセットで実行できないかと考えました。 ・・・がサンプルなどをひっくり返しても、なかなかできません。 どなたかご教授していただけるととても助かります。 よろしくお願いいたします。

  • フレームページから別フレームのアンカーへ

    あるフレームAからフレームBへ移るとき、 同時に子ページのアンカーへもリンクのさせたいのですが、 検索しても「いくつか方法がある」という記述は発見できたものの、 そのものズバリ、Javascriptが記述されたページが見つからず、 途方に暮れています。 a.html(フレームA)  a-1.html  a-2.html b.html(フレームB)  b-1.html  b-2.html   #b-2a、#b-2b、#b-2c・・・ 上記のような場合なのですが、 単純に考えればb-2.htmlのそれぞれのアンカーを指定した フレームページをアンカーの数だけ作ればよいのですが、 アンカーが数百単位で存在し、 フレームBだけではなくフレームC、D、E・・・と フレーム自体も数が多いので、後々のメンテナンスを考えると Javascriptで行う方が良い気がしています。 どなたか解決方法をご存知でしょうか?

  • フレームページがうまくできないよー

    とりあえず、ホムペを作っているんですけれども、 フレームページの製作がうまくいかないわけです。 とりあえず、基盤ページと右と左の分かれたページを作ることには成功したんですけれども、 左をメニューのほうとして、リンクを貼るじゃないですか そうして、ただリンク貼っただけですと、右のページじゃなくて、左のページにリンク先が表示されてしまうわけです。 どうやったら左のメニューをクリックして右の内容が変化するようにできるかわかりません。 教えてください。

  • 左フレームからのリンクを右フレームに表示するには?

    gooの簡単HPを作っているのですが、 左フレームからのリンクを右フレームに表示するにはどうしたらいいのでしょうか? そのまま左フレームの中に、リンクを作ると、左フレームに表示されてしまうので、困ってします。 まだはじめたばかりで、本を参考にしているのですが、よくわかりません!教えてください!

  • frame 表示

    frame表示で、name定義で name="frame2"で定義しておくと リンク先がそのframeに表示されますが 例:左(frame1)右(frame2) でframe1でtarget="frame2"でリンクですが frame1,2とまたっがて表示はできますか? 全表示でなく3つframe以上で表示する場合は ふたつのframeを使って(またっがて)表示する ということ はできますか?

    • ベストアンサー
    • HTML

専門家に質問してみよう