親ウィンドウ(scriptで言うopener)を指定するtarget属性
(サブフレームではなく)サブウィンドウから親ウィンドウを指定するためのtarget属性は、どう記述すれば良いか悩んでおります…。
たとえば具体的には…
サブウィンドウを以下のアンカータグを使って開きます。
■親ウィンドウ内
<a href="sub_page.html" target="winSub" onclick="window.open('sub_page.html','winSub');return false;">
開かれたサブウィンドウから親ウィンドウをナビゲートする、アンカータグを表示したいのですが、
■サブウィンドウ内
<a href="page2.html" target="★" onclick="opener.location.href='page2.htm';return false;">
上記の★の部分には何を指定すれば良いのか解りません。
※なお、ご覧のとおりscriptオフ環境に対する記述部分が問題になっており、scriptオンでは期待通りの動作をします。
サブウィンドウはサブフレームと同等に扱われると考え、「_parent」や「_top」を指定しても、単に自ウィンドウがページジャンプしただけでした(とりあえずIEのみでテスト)。
どなたか、target属性の指定方法、あるいは、そもそもtarget指定で開いたサブウィンドウには親子関係がない、などの情報など、何かありましたら、ご教授のほどお願いいたします。
No.1ベストアンサー
- 回答日時:
target 属性はあくまでも「フレーム」を扱うものです。
frameset 要素と、frame 要素を用いた親子関係は扱えますが、ウィンドウを越えた関係については少なくとも W3C の勧告にはどのようにすべきかは書かれていません。知らないフレーム名が指定されていた場合はウィンドウが開きますが、これは指定されたフレームがないので「しかたなく」新しいウィンドウを開く、という消極的な解釈をしているわけです。
参考URL:http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 …
ご回答ありがとうございます。
なるほど、ようするに親子関係のあるウィンドウを制御するにはscriptしかなく、target属性で新しい名前が指定されたら、それはサブウィンドウではなく別の新しいウィンドウとして扱われる、というようなことですね。
大変ためになりました。
質問文のようなことを実現させる別の方法など、どなたかご存知ではないでしょうか。おそらく難しそうですが…、とりあえずもう少し待ってみます、よろしくお願いいたします。
No.2
- 回答日時:
scriptを使わないで、openerウィンドウを制御することはできないと思います。
ご回答ありがとうございます。
いろいろ代替案を試行錯誤しておりまして、とりあえず、scriptを使わずにopenerウィンドウを指定するには、そのウィンドウに名前が付いていれば良いのですから、その方向で何とかならないか、と考えております。
で、今のところ、縦横100%の見えない名前つきフレームを使って、そこから開いたサブウィンドウからtargetに名前を指定することで、とりあえずは当初の希望どおりの動作を実現できました。
しかしできればもっとスマートな方法をご存知でしたら、ぜひともご教授いただけたらと、お願いいたします。
この方向では、なんとか自ウィンドウに名前をつける方法(scriptでwindow.name="xxx"のような)があれば早いんですが、聞いたこともないですよね…。
ただこれも、もちろんあまり良い方法とは思えず、まぁそもそもこういう形自体が問題なのも解っていますが、要件に対応するため善処しているところでして…。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- その他(OS) Windowsで大量の画像サイズを半自動で変更する方法 6 2023/02/17 08:45
- UNIX・Linux ubuntu ウィンドウのバー ダブルクリック 巻き取る 1 2022/04/28 19:28
- その他(パソコン・周辺機器) デバイスのペアリングのウィンドウサイズがおかしい 1 2023/01/18 18:48
- Word(ワード) Microsoft Word2023で、修正箇所を表示させたい 1 2023/02/09 10:07
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- Windows 10 2つのウィンドウ選択時の表示について 10 2023/07/25 08:48
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VC、コンソールアプリ結果の...
-
googleマップをポップアップウ...
-
親ウィンドウ(scriptで言うope...
-
ホームページビルダーでのドロ...
-
VBSでIEのウィンドウサイズを強...
-
DBからPDFを取得して別画面で表...
-
AfterEffectsでイージーイーズ...
-
mailtoで本文指定に改行をしたい
-
XMLを作成してもタグしか表示さ...
-
H1タグに改行の<br>を使う
-
掲示板からIPアドレスってど...
-
GoogleChromeでレイアウトが左...
-
Hタグを改行禁止にしてspanのよ...
-
\\n \\r \\t について
-
doc As HTMLdocumentのコンパイ...
-
リーバイス?
-
リンクの範囲がおかしい?
-
Excel VBA 見本通りに...
-
Eclipseの空白が変な...
-
ブラウザでのタイ語の改行について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
指定URLを新しいウィンドウで開...
-
自分のサイトを開いた時にウィ...
-
プルダウンメニューの開く方向...
-
新しいタブで開かせない方法は...
-
ホームページビルダーでのドロ...
-
表示中のURLなどをバッチファイ...
-
ASP.Net 別ウィンドウを開く・...
-
FindWindowの使い方
-
HTML 全画面表示 リンク先の...
-
DBからPDFを取得して別画面で表...
-
OpenCVのcvNamedWindowによるウ...
-
HTML,js)リンクを新しいタブで...
-
ハイパーリンクからメニュー無...
-
マニアックなショートカットキー
-
VBSでIEのウィンドウサイズを強...
-
インラインフレームの中の表示...
-
QT 半透明の画面生成について
-
ポップアップのHTMLの記述
-
form の target(
-
mailtoとwindow.close()の二つ...
おすすめ情報