- - PR -
フレーム間のリンクについて
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-09-10 17:29
いつもお世話になっております。51と申します。
現在ASP.Net(C#)で開発を行っています。 フレームを設定された画面(以下、frame1,frame2とする)で、 [frame1]のリンクをクリックすると、[frame2]は再読み込みせずに 指定されたブックマークに移動する…という 動作を行いたいのですが、上手く動作させることができません。 「frame1」のリンクにjavascriptで ------------------------------------------------------------- parent.frame2.location.href = 'frame2.aspx#bookmark' ------------------------------------------------------------- と記述すると、frame2.aspxの再読み込みを行ってしまうので、 clickイベントで[frame2]の関数を呼び出し、 [frame2]の関数で、自画面のブックマークに移動するようにしました。 ------------------------------------------------------------- location.href = '#bookmark' //自画面のlocatonを変更 ------------------------------------------------------------- ですが、実行するとの[frame2]に[frame1]の画面が表示されてしまいます。 フレームをまたがったブックマークの指定はできないのでしょうか? HTML+javascriptのみで試しても同事象が発生したので ASP.Netとは関係がないと思うのですが、 どうぞ、ご教授の程よろしくお願い致します。 | ||||||||
|
投稿日時: 2004-09-10 18:38
でアンカーだけ移動できるのではないですかね。 ただ、以下の場合
再読み込みされずに#bookmarkに移動しましたよ。それに、 この動作だけならリンクではなくてhtmlボタンでいいと思うのですが。 リンク自体のhrefには何が指定されているのだろう。 追記 あ、hrefでjavascriptを書いているということか。 あと、確かにアプリケーションドメインが異なると動作が変わりますね・・ [ メッセージ編集済み 編集者: べる 編集日時 2004-09-13 09:11 ] | ||||||||
|
投稿日時: 2004-09-10 20:13
フレーム内の各コンテンツって全部同じドメインですか?
| ||||||||
|
投稿日時: 2004-09-13 14:43
べる様、momotoro様お返事ありがとうございました。
土日を挟んでしまって、レスが遅くなってしまい大変失礼致しました。 べる様の書いていらっしゃった通り「hash」プロパティの指定で、 イメージ通り動作させることができました。 (hashというプロパティを初めて知りました・・・勉強、調査不足です。 申し訳ありません・・・) 解決はしたのですが、下記にご指摘頂いた内容の回答を記述しておきます。 本当にありがとうございました。 引用: べる様 -------------------------------------------------------------------------------- こちらで最小のサンプルを作って試してみましたがframe2は 再読み込みされずに#bookmarkに移動しましたよ。それに、 この動作だけならリンクではなくてhtmlボタンでいいと思うのですが。 リンク自体のhrefには何が指定されているのだろう -------------------------------------------------------------------------------- お客様の要望で、見た目をリンクにして欲しいとのことでしたので、 htmlボタンは使用していませんでした。 リンクのhrefにはjavascriptを書いています。 こちらのサンプルではやはり再読み込みしてしまうのですが、 何か変な記述をしてしまっているのでしょうか・・・。 引用: momotaro様 -------------------------------------------------------------------------------- フレーム内の各コンテンツって全部同じドメインですか? -------------------------------------------------------------------------------- 全て同じドメインです。 | ||||||||
|
投稿日時: 2004-09-13 16:58
私は以下のように試していました。
parent.main.location.href = 〜 を<a>タグのhrefに直接書くとframe1の方が 切り替わってしまうというのは確かにありますが。 あと、'frame2.aspx#bookmark'の部分は、あくまでframe1から見た相対アドレスに なりますね。 <HTML> <head> <script language="javascript"> function bookmark() { parent.main.location.href = 'frame2.aspx#bookmark'; } </script> </head> <body> <a href="javascript:bookmark()">bookmark</a> </body> </HTML> #ドメインが異なるページのhashを変更しようとするとIEではエラーでますね。 #ネスケでは平気なのですが・・ | ||||||||
|
投稿日時: 2004-09-13 17:53
べる様 お返事ありがとうございます。
全く同じコードを貼り付けて実行してみたのですが、 やはり、frame2.aspxを再読み込みしてしまいます。 (frame2.aspxのPage_Loadイベントにブレークポイントを設定して確認しました) 不思議です・・・。 IEのバージョンは6.0なのですが、バージョンに関係するものでしょうか・・・。 引用: べる様 --------------------------------------------------------------------------- #ドメインが異なるページのhashを変更しようとするとIEではエラーでますね。 #ネスケでは平気なのですが・・ --------------------------------------------------------------------------- そうなのですね。 今回は、ドメインも同じでブラウザもIE限定なので特に問題はないと思います。 今後は意識するようにします。 知らないことばかりでお恥ずかしいです。 ありがとうございました。 |
1