• ベストアンサー

複数HTMLを1つの別ウィンドウで表示

javascriptについて質問です。 1HTMLから別ウィンドウ表示したいリンクが複数あります。 クライアントからクリックの度にウィンドウが新たに開かないようにして欲しいとの 依頼があり、下記のjavascriptでウィンドウ名「subwindow」に上書き表示されるようにしました。 ■javascript■ <!-- function subWins(pages){ w=window.open(pages,"subwindow",""); w.focus(); } //--> ■HTML■ <a href="javascript:;"onClick="subWins('リンク先URL')">●●●●●</a> 上記の場合、javascriptをOFFにしているとリンクが効きません。 javascriptをOFFにしていてもウィンドウが開く方法はないでしょうか。 説明不足でしたら補足させていただきます。どうぞ宜しくお願い致します。

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

  • ベストアンサー
回答No.1

target属性を使う手段がありますが・・・ <a href="http://リンク先/" target="abc">○</a> target="abc"のabc部分が同じであれば質問者さんのsubwindowと同じ働きをします。 しかし!問題が・・・ 二つ目以降のリンクは元ページに隠れてしまいます。 (w.focusのように前面に出す手段が無い) 背面に行かないようにするにはtarget="_blank"ですが これでは新ウィンドウが開くのでダメですね・・・ 又、target属性は将来廃止される予定の属性です。 私ならクライアントに事情を説明しますが・・・ さもなくばトップページでスクリプトのon/offをチェックして(noscriptタグとかで)、offのユーザは「onにして下さい」とメッセージを出すか、フレームを使ったページに飛ばして、フレームで表示させますが・・・ダメかな?

noname#16138
質問者

お礼

frisk_blue_loveさん、お礼が遅くなってしまい申し訳ございません。 とても参考になるアドバイス、どうもありがとうございました。 やはりjavascriptは使用しない方向で話が進みました。 target属性は廃止予定タグなんですね。結構頻繁に使用しているので いつ廃止になるのかが気になります。。 どうもありがとうございました。

その他の回答 (1)

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.2

function subWins(pages){ w=window.open(pages,"subwindow",""); w.focus(); return false;//←falseを返す } <a href="リンク先URL" onclick="return subWins('リンク先URL')">●●●●●</a> onclickでfalse(subWinsの返値)を返すことでjavascriptがONの場合はイベント(クリック)をキャンセルします。→ hrefで書かれた本来のリンク機能がキャンセルされる。 targetの指定についてはお好みで足してください。 なお、フォーカスが移せない(新しいウインドウが前面に出せない)という問題点は#1さんのおっしゃるとおり。 なにがなんでも別ウインドウにする必要はないと思いますが。(特にJavascriptが使えない、使わないようにしている環境ならなおさら)

noname#16138
質問者

お礼

steel_grayさん、お礼が遅くなり申し訳ございません。 アドバイスありがとうございました。 結局javascript使用しない、という事で話が決まりました。 が、いただいたアドバイス、大変勉強になりました。 >なにがなんでも別ウインドウにする必要はないと思いますが。 おっしゃるとおりです!どうもありがとうございました。

関連するQ&A