• ベストアンサー

window,open

★=window.open("▲","☆","■") で★と☆がウィンドウの名前と書いてあったのですが 区別がわかりません これは開いたウィンドウの名前なのでしょうか? それともこのスクリプトがあるウィンドウをさすのでしょうか? あとウィンドウの名前のつけ方も教えていただけたら うれしいです 具体的には newWin=window.open("control,html","newWIn","width =240.height=120"); と書いてありました

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

  • ベストアンサー
  • Dpop
  • ベストアンサー率51% (279/544)
回答No.4

#1です。 >ということは☆は相手側(画面を切り替えるウィンドウ名)で★は開いたあとのウィンドウ名ってことですか? ☆の認識は、それで良いと思います。(一瞬、ん?と思いましたが(笑)) 補足をすると、生成するウインドウに付けた*名称*の事です。 ★は微妙に(いや、かなりかも知れない。)違います。ウインドウ名ではありません。オブジェクトです。オブジェクトは名前ではありません。 JavaScriptは、一応オブジェクト指向言語(oop言語)の端くれでして、プログラムの中で取り扱われる多くの情報がオブジェクトとして抽象化されています。 あまり、詳しいことを書くとoopの説明になってしまうので割愛しますが、いくつかの関数を利用する時に受け渡される「情報の束」だと考えると、考えやすいかも知れません。 ウインドウ名と表現されていたので、ん?分かって無いかも知れない。。。と感じてしまいました。単に、表現が上手にできなかっただけかな?

R7414
質問者

お礼

再度の回答ありがとうございます^^ なるほど~名前ではなかったんですね >ウインドウ名と表現されていたので、ん?分かって無いか>も知れない。。。と感じてしまいました。単に、表現が>上手にできなかっただけかな? いいえわかってなかったです(^^; オブジェクト指向について勉強してみようとおもいます ありがとうございました

その他の回答 (4)

  • yahtzen
  • ベストアンサー率46% (189/410)
回答No.5

No.3です。中途半端なお返事をしてしまい申し訳ありません。★について、まったく触れていませんでした。基本的に★と☆は別物です。おそらくなのですがこのwindow.openメソッドを包むような感じのfunctionが存在すると思うのですが、いかがでしょうか? たまたま、これを書き込んだ方が★と☆を同じに書いているのですが、ちょっと表現が適切か分かりませんが、★はfunction内の単なる記述です。もちろん☆のほうも新しいウィンドウを開くつもりで、どのフレームにも割り当てられていない名称でしたら、これまた適当でかまわないわけですが、こちらはあくまでウィンドウ名です。うーん、説明下手がばれてきました。このへんでギブアップです、ごめんなさい。

R7414
質問者

お礼

私がアフォなせいで迷惑かけてしまってすいません(^^; なるほど~なんとなくわかってきました! あとは精進してがんばりたいとおもいます^^ ありがとうございました!

  • yahtzen
  • ベストアンサー率46% (189/410)
回答No.3

このメソッドを端的にあらわしますと、 window.open("開くURL","ウィンドウ名","属性")となります。 つまり1番目にあるページを開くわけですが、2番目にあるウィンドウ名に開きます。そのウィンドウ名が(フレームとして)あらかじめ設定されていないのでしたら新しいウィンドウとして開きます。3番目のは、そのウィンドウを開く際の補助的なものです。今回の場合は幅が240px,高さが120pxという設定です。それ以外にもツールバー、ロケーションバー、ディレクトリバー、ステータスバー、メニューバー、スクロールバー、リサイズボックスの有無を設定できます。書き込んでない場合は通常"有り"と判断されるようですが、IE6の場合だけは"有り(yes)"と表記しないとすべて"無し"となるようですが、たしかではありません。

R7414
質問者

お礼

回答ありがとうございました! IE6の場合だけ違うんですね できたら#1さん#2さんのお礼のほうも目を通して いただけたらうれしいです

  • manayu
  • ベストアンサー率53% (79/148)
回答No.2

★は新たなウィンドウを参照します。これを用いて、ウィンドウを操作することができます。 ☆は、<frame> タグの name 属性で指定した名前や、他の open() で 作成した名前を指定します。 その名前を持つウィンドウがまだ存在しない場合は、その名前を持つ新規ウィンドウが 開きます。 タグ <FORM> や <A> の オプション TARGET に対応します。 参考になるかも・・・。 http://member.nifty.ne.jp/aya/js2/js222.htm http://tohoho.wakusei.ne.jp/js/window.htm#open

参考URL:
http://member.nifty.ne.jp/aya/js2/js222.htm,http://tohoho.wakusei.ne.jp/js/window.htm#open
R7414
質問者

お礼

回答ありがとうございます! ということは☆はどこかで定義されてないとだめということでしょうか? また☆は開く相手のウィンドウ名で★は開いたあとの ウィンドウ名だということでしょうか?

  • Dpop
  • ベストアンサー率51% (279/544)
回答No.1

☆は、これから作成しようとする、ウインドウの識別名です。 もし、windows.openを複数実行した時、☆が別の名前であると、複数のウインドウが開きますし、☆が同じだと、そのウインドウに対して、内容の書き換え(表現が適当ではありませんが。)が行われます。 ★は、作成するウインドウのオブジェクトです。作成たしウインドウに対して、なにかの処理を行う場合。例えば、writeln でそのウインドウに対して、文章を書き込む場合、★.writeln なんて形で指定するためのものです。 オブジェクトの使い方や、どの関数に利用できるのかは、リファレンスなどで確認してください。

R7414
質問者

お礼

ということは☆は相手側(画面を切り替えるウィンドウ名)で★は開いたあとのウィンドウ名ってことですか? 回答ありがとうございました^^

関連するQ&A