とJavaScriptのwindow.open()の違い

このQ&Aのポイント
  • JavaScriptの<a target=_blank>とwindow.open()の違いについて解説します。
  • window.open()はリンク先が同じでもエラーとなることがあるため、注意が必要です。
  • Aタグでは新ウインドウに名前をつけることができず、window.open()を使う場合に注意が必要です。
回答を見る
  • ベストアンサー

<a target=_blank>とJavaScriptのwindow.open()の違い

Servlet+RDBでWebシステムを作っています。 セッションを取って、LastAccessTimeなどでユーザーを管理しているのですが、ある場面で別ウインドウを出したいと思っています。<a target=_blank>だとうまくいくのにwindow.open()だとリンク先は同じでもエラーとなってしまいますが、この2つにどのような差があるかご存知でしたら教えてください。 window.open()の方が使い勝手がいいのでこちらを使いたいのですが、やむを得ずAタグで新規に開いてからリサイズを行っています。本来新ウインドウに名前をつけたいのですが、Aタグでは無理でしょうか。こちらもわかる方がいたらお願いします。

  • Java
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • the845t
  • ベストアンサー率33% (246/743)
回答No.1

新ウィンドウに名前をつけるだけであれば、 <a href="" target="new"></a> などのようにtarget要素で名前がつきます。 _blankは常に新規窓ですが、名前をつけるとその窓だけで表示されます。 タブブラウズが多くなった今、ブラウザのリサイズはかなり利用者にとって不便では?

Goody-goody
質問者

お礼

返答遅くなりました。 ありがとうございます。助かりました。 targetは「_blank」や「_top」だとばかり思っていました。タブブラウズのことはあまり考えていませんでしたが、タブブラウズでない場合のみリサイズして中央に表示、なんてことはできるのでしょうか。

関連するQ&A

  • window.openのターゲットについて

    ウィンドウをjavascriptで開く際に、 window.open("URL","_top")のように ターゲットを指定できると思うのですが、 今一どこを指定しているのかわかりません。 ページA(フレームで分けられている)からwindow.openでページBを開いた場合、ターゲットに_top,_selfなどと指定した場合はページAのフレームのことを指しているのでしょうか? また今、ページA(フレームで分けられている)でURLをクリックするとファイルをダウンロードするプログラムを作成しているのですが、window.openのターゲットに_topを指定すると新しいウィンドウが表示されないのに、_self,_blankなどを指定するとウィンドウが表示され、ダウンロードが終わっても表示されたままになってしまいます。どうしてこのような違いが起きるのかお分かりになる方がみえましたら教えてください。 よろしくお願いいたします。

  • target=_blankを使わない新規ウィンドウ

    target=_blankを使わない新規ウィンドウオープンについての質問です。 <a href="http://www.example.com" onclick="window.open(pageTracker._getLinkerUrl(this.href),'_blank'); return false;"> 上記を記述しているのですが、ある日から突然新規ウインドウを開かずリンクサイトが表示されてしまいます。 「pageTracker」が機能したまま別ウインドウでリンクサイトが開く方法を知りたいです。 よろしくお願いいたします。

  • javascript/target="_blank

    フレーム内から別窓でurlを開こうとしています。 htmlでは以下の通りで、実現できます。 <a href="http://www.goo.ne.jp/" target="_blank">goo</a> JavaScriptで window.open(my_url,'_blank'); return false; としても、別窓で開くのですが、戻るの「←」が表示されてしまいます。(上記、「my_url」は変数です。) 宜しくお願いします。

  • target=”_blank” が効きません

    <body>  <ul><li><a href="○" target="_blank">リンク</a></li></ul> </body> 上記のように、<a>~</a>を<ul>~</ul>で囲うとtarget="_blank"が効きません。 <a>~</a>を<p></p>など他のタグで囲った場合は効きます。 <ul>~</ul>で囲った場合だけ効きません。 どんな原因が考えられるのでしょうか… ulにかけているcssの中にtarget="_blank"を殺すような記述が入ってしまっているのでしょうか。 そんなcssありますか? 目的はリンクを別窓で開きたいだけです。 ヒントをいただけますと助かります。

    • ベストアンサー
    • CSS
  • window.openでリファラを取得するには

    a.html から、b.php に window.open でリンクを張っています。 その際、b.php で a.html から飛んできたというリファラを取得したいのですが、 window.open ではリファラを取得できないとどこかで見かけました。 b.php でリファラを取得するためには、 a.html でどのようにしてリファラを送ったらいいのでしょうか? target=_blank でもよいのですが、それだとウィンドウサイズの変更ができないため、 できる限りwindow.openを使いたいのです。 よい方法をご存知でしたら教えていただけないでしょうか?

  • <div id="blank">内の<a>タグ群だけをtarget="_blank"にしたい

    数十の<a>タグがあるHTMLファイルの中で、 <div id="blank">で囲まれた<a>タグ群のみをすべてtarget="_blank"にしたいと考えています。 該当する<a>タグすべてにtarget="_blank"を書くと、HTMLファイルの容量が大きくなるので、CSSのIDとJavaScriptを組み合わせて、実現できないものでしょうか。

  • window.openで情報を引き継ぎたい

    現在、<a>リンクにクエリを記述して、次ページに飛ばしています。 taget=_blankにしていますが、ウィンドウサイズを指定したいので、window.open()を使用しようかと思ったのですが、そうすると、情報の引継ぎができません。 何かよい案はないでしょうか?

  • window openの設定ページからリンクをはる

    dreamweaverCS3を使いmac環境でHPをつくりました。 POPUPのページを作ろうと リンクに window.open('live.html', '_blank', 'width=500,height=700'); return false; のタグを入れて、横幅縦幅指定通りにページが開けたのですが そのページにさらにリンクをはって target=_blankで別ウインドウで開くようにしたのですが ブラウザ確認したところ、safariではうまくいくのですが firefoxでは先に指定したwidth=500,height=700の サイズでしか開きません。 firefoxはIEに似てると聞いているので IEでも同じ現象だと思い直したいんですが。。。 どうすれば、普通のサイズで開くようにできるでしょう? あまり詳しくなく説明が分かりにくいと思いますが よろしくお願いします。

  • javascriptのwindow.openで開くウインドウの制御

    サムネイル画像をクリックしたときに、その元画像を別のウインドウで開くようにしています。 javascriptのwindow.openで、ウインドウ名を指定して開くと、1枚のウインドウが開きます。最初は一番上に開くのですが、2度目からはメインのウインドウの下に隠れてしまいます。ウインドウ名を_blankにすると、前に開きますが、ウインドウが次々に開かれてしまいます。 window.openで呼び出したときに、常にメインのウインドウの上に開かせたいのですが、どのようにしたら良いのでしょうか?

  • target="_blank" にしていないのに…

    HTMLの記述でtarget="_blank" にしていないのに、 リンク先が別ウインドウ(もしくはタブ)で展開してしまいます。 ひとつのHTMLページで、特定のアンカーに対してだけこの現象が起きます。 たとえば、 <p><a href="aaa.html">aaa</a></p> <p><a href="bbb.html">bbb</a></p> <ul> <li><a href="ccc.html">ccc</a></li> <li><a href="ddd.html">ddd</a></li> <li><a href="eee.html">eee</a></li> </ul> という記述をしたとして、 aaaおよびbbbに関しては現在開いているウインドウ(タブ)でリンク先を開くのですが、 ccc、ddd、eeeに関しては別タブで開いてしまいます。 主に使っているブラウザはFirfox3.6で オプションで「別ウインドウではなく別タブで開く」にチェックしています。 IE9で同じ操作をしたらccc、ddd、eeeともに同一ウインドウで開きました(HTML記述通りの挙動)。 また、GoolgleChomeでも試しましたがFirefoxと同じく別タブで開く動作でした。 アンカーをクリックしたときの動作は、 targetを指定しないときはtarget="_self"と同等だと思っていましたが違うのでしょうか? お詳しい方、ご教授いただければと思います。

    • ベストアンサー
    • HTML

専門家に質問してみよう