わかりにくいタイトルでごめんなさい。
http://www.~.jp/index.htm
でアクセスできるトップページは左右の2つのフレームに別れていて、右側にコンテンツ、左側が各コンテンツへのリンク(画像)を表示しているとします。
そこでコンテンツAをクリックしたときには、右側にトップページと同じディレクトリにあるa.htmを表示します(状態A)。これは、targetでフレームを指定しています。
さて、index.htmのURLをご案内して見に来てもらう時は問題ないのですが、a.htmのURLをご案内して来てもらったときは、左側のリンクバーが表示されません。そのときでも、状態Aの様に表示するにはどうしたらいいでしょうか。
全てのページをフレームページにして、リンクバーをロードさせれば実現出来そうですが、あまりスマートには思えなくて...
No.1
- 回答日時:
直リンクでフレーム対応させたいということですよね?自分はプログラムの知識はないので、何かのプログラムを組み込めば出来るのかも知れませんが、それは分かりません。
以下にはひとつの案として回答いたします。これを実行するにはそれなりのディスクスペースが必要ですので、あらかじめご了承下さい。
まず、すでにあるデータとは別に、直リンクしたいページも、新たにフレーム構造にします。もちろん名前も違うものを使ってください。a.htmlだったらaa.htmlというカンジです。メニューページもすでにあるものとは別の名前で新規に作成して下さい。とは言ってもデータはすでにあるもののコピーでOKです。そして直リンクページ以外のものは、すべてターゲットで指定します。本来トップページとなるはずのtop.htmlもターゲットにします。こうすると、あたかもフレーム構造で動くように見えます。ただし見かけのURL欄はa.htmlのままですが。。。
これで分かりますか?つまり直リンクしたいページの分だけ余計にフレームページとしてのデータが必要になるわけです。その他のページは共有できますが、もともとのページの戻りターゲットも_selfにしておく必要があります。
皆様、お礼が遅れてすみません。
フレームをたくさん作るのは避けたかったので、今回はこの方法は取れませんでした。でも、大変参考になりました。有難うございます。
No.2
- 回答日時:
要するに、すべてのページを単ページで表示するのではなくフレームをつけるということでしょうか?
Javaスクリプトを使用して「単ページ」のみでは表示できないようにすることは可能です!
しかし、これは単ページのみでアクセスした場合は
TOPページを表示することになります!
質問の趣旨とは少し違うのですがどーですか?
スクリプト文
----------------------------------------
<script language="javascript">
<!--//
if (top == self) self.location.href="TOPページ";
//-->
</script>
----------------------------------------
※TOPページの所には例:index.htmlとかが入ります
有難うございました。
今回の目的とは微妙に違った方法だと思いますが、他のところで利用シーンがありそうです。大変参考になりました。
No.3ベストアンサー
- 回答日時:
非常に簡単でかつスマートにできる。
(1)それぞれの単体のページのジャバスクリプトとして以下の趣旨の記述を書く。(それぞれのページに具体的に記述するのではなく、共通の読み込みJavaScriptにすれば良い)
(論理だけ述べる。
ジャバスクリプトは書かない。自分で調べること)
(1).まず、親フレームが存在し、それが本当に自分のHPの親フレームかとうかの一致確認処理。
(レフトフレームの「フレーム名」から判定するのが良い)
(2).一致していれば、何もしない(それは左のリンクバーから来たとほぼ間違いなく推察される)
(3).一致していなければ、「そのファイルの名前を引数として」トップページを呼び出す。
location.search.substring()などで引数を受け取れる。
ヒントはhttp://oshiete1.goo.ne.jp/kotaeru.php3?q=18407 書籍などにものっている機能。
(4).トップページのジャバスクリプトは、
2つに分ける。
JavaScriptでフレーム分けを吐き出す。
JavaScript内で、引数があるばあいと、ない場合とで、document.writeの内容を変えれば良い。
※javaScriptを切っていた場合のデフォルト(今のフレーム分けと同じもの)は用意しておくことをお薦めする。
詳細にご教示くださり、有難うございます。
正直言ってJavascriptはまだまだ勉強不足なのですが、引数を使えばうまくいくということがわかりました。
がんばってみます。
No.4
- 回答日時:
私はこんな風にやってます。
まず、JavaScriptでこんなのを書きます。
---
if (window.name != "framename" ) {
document.location.href = "frameset.html";
}
---
各ページに
<script>
</script>
で囲んで書いても良いですし、別ファイル(check.jsとしてファイル保存)にして
<script src="check.js"></script>
なんてこともできます。私は後者のをつかってます。
で、framename には、本来このコンテンツを表示すべきフレームの名前を入れます。targetで指定する名前です。
frameset.htmlはフレームセットを定義しているソースに置き換えます。
動きとしては、自分の表示されているウィンドウ名がframenameでは無い場合frameset.htmlを表示する。という感じです。
コードで例を示していただき、有難うございます。
Javascriptの知識が足りないので、大変勉強になりました。この方法と他の方が教えてくださった方法を組み合わせれば、何とかできそうな気がします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
どのページもすべて同じURLなの...
-
pythonのエラーについての質問...
-
フレーム内にあるメニューから...
-
フレームの読込み順
-
java_run.batがダウンロードで...
-
iPadの標準ブラウザでローカルH...
-
HTMLからフォルダを開きたい
-
googleドライブで、PDFファイル...
-
マウスポインタが手の形になら...
-
PS4で、「バージョン5.05以上の...
-
医療画像(Windows用)をMacで...
-
社内で利用するWebサイトを立ち...
-
HTMLの内容をテキストエリアに...
-
Webサイトから、txtファイルを...
-
京都駅から延暦寺へのアクセス
-
ホームページ、iPadやiPhoneで...
-
フォルダ内の最初のファイル名...
-
You Are The Sunshine Of My Li...
-
HTMLページが勝手にダウンロー...
-
htmlファイルの表示が真っ白
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
どのページもすべて同じURLなの...
-
pythonのエラーについての質問...
-
フレームで指定している送信先...
-
フレームの片方だけを更新(リロ...
-
frameの内容が表示されない
-
2つのページを重ねたい
-
WebサイトでHTMLのフォームに隠...
-
URLを変えないで表示する方法
-
フレームページが表示されない...
-
iframeを使わないで・・・
-
html 左メニューから右への表示...
-
formデータ送信時にフレームペ...
-
フレームが表示されない><
-
直リンクとは。
-
HP全体にmidiを・・・
-
HTML、1クリックで複数画像表示
-
HTML フレーム内にWebページを...
-
フレームがあるページでの更新...
-
フレームの表示と非表示の切り替え
-
「無題ドキュメント」の名前変...
おすすめ情報