• ベストアンサー

window.openの使い方

このようなスクリプトが動かないのは何故なのでしょう? <html> <script> var URL = "http://okweb.jp/"; GetW = window.open(URL,"Gets"); alert(GetW.document.readyState); </script> </html>

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

  • ベストアンサー
  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.3

私も、 <html> <script> GetW = window.open("./aaa.html","Gets"); window.alert(GetW.document.readyState); GetW.window.close(); window.alert(GetW.document.readyState); </script> </html> こんな感じに変更して、同じフォルダにaaa.htmlをおいてテストしてみるとうまくいっています。

ZeroWorld
質問者

お礼

やはり仕様っぽいですね。。もう少し考えつつ もしかしたら詳しい事をご存知なかたがあらわれる かもしれませんので、まってみます。 一緒になって考えてくださってありがとうございました!

その他の回答 (2)

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.2

確かに alertのウィンドウは開いていませんね。 もう少し調べてみます。

ZeroWorld
質問者

補足

ありがとうございます。 ん~何か仕様のような気もしてきました。 ためしに GetW = window.open("","Gets"); のように変えてみました。 この時点ではちゃんとstateが表示されるようです。 ところがlocationを変えたとたん動かなくなります。 GetW.document.location ="http~"; それでも読み込んでいる最中は動くようです。 読み終えて通常はcompliteになるはずですが、 読み終えた時点でどうもがリセットされてるぽいです。 親ウインドウから子ウィンドウを参照できない仕様なんでしょうか・・。 参照できるようにすると外部サイトの攻撃ができてしまうとかで・・。 でもそしたらこのプロパティがある意味がわからないですよね・・ ローカル操作でtimerの同期をとるためにあるのかな・・。

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.1

適当なhtmlファイルを作って、カットアンドペーストして、そのファイルを開いて問題ないようですが・・・。

ZeroWorld
質問者

お礼

早々にテスト、お返事いただいて ありがとうございます。え、なんででしょう。 環境のもんだいなんでしょうか・・・ 家ではalertが表示されないんですけど alertの内容もですか? あと、環境書き忘れたので追記させていただきます。 IE6.0とSlepnirで動作確認しています。

ZeroWorld
質問者

補足

あ、質問の仕方が悪かったのですね・・。 alertがだめなのでした。 alertが表示されないのはなぜでしょうか? よろしくお願いします。

関連するQ&A

  • window openについて

    こんにちは、例えば以下のようなスクリプトがあったとします。 <html> <form name = serchform> <input type=text name=id><br> <input type=submit value=ID検索 onclick="openwin()"> <a href="javascript:open(1);"><Img Src="1.bmp"></a><br> <a href="javascript:open(2);"><Img Src="2.bmp"></a><br> <script type="text/javascript"><!-- function openwin() { a = document.serchform.id.value; url = "http://10.8.2.166/test/syuhou_kensaku.php?id="+a; mywin = window.open(url,"","width=1120,height=500"); } function open(select) { if(aa == 1){ alert("Test") url2="http://10.8.2.166/test/kensaku.php?msg="+Testです; mywin2 = window.open(url2,"",""); } } //--></script> このソースを実行すると、ID検索ボタンをクリックしても何も反応せず 1.bmpをクリックすると、Testとメッセージが表示され、画面左下に 警告マークが表示され、何も反応しません。 しかし、function open(select)を削除し、ID検索ボタンをクリック すると命令した処理を実行してくれます。 function openwin()を削除したらその逆も起きるのかと考えやって みたのですが、これについては上記と同じエラーでした。 なぜこのようになるのか原因が分かりません。 どなたかご存知の方がいらっしゃいましたら、アドバイスよろしく お願い致します。

  • Javascriptの関数について

    Internet Explorer の右クリックメニューに登録するスクリプトを作っています。 たとえば、いま表示しているページのURLを表示する場合、 <script type="text/javascript"> var parentWindow = window.menuArguments; var URL = parentWindow.document.URL; window.onload = function() {   kansuu(URL); }; kansuu = function(url) {   alert(url); } </script> ↑は動きます。 また、 var parentWindow = window.menuArguments; var URL = parentWindow.document.URL; window.onload = kansuu(URL); function kansuu(url) {   alert(url); } ↑も動きます。 ところが、 var parentWindow = window.menuArguments; var URL = parentWindow.document.URL; window.onload = kansuu(URL); kansuu = function(url) {   alert(url); } は動きません。 なぜでしょうか? 理由を教えていただけると嬉しいです。 よろしくお願いします。

  • window.open とtarget属性について

    お疲れ様です。 いつもお世話になっています。 以前 http://okwave.jp/qa4125614.html で質問させていただいた件に関することなのですが、 現状のソース function chk(){ var k=0; var i; for(i=0;i<6;i++){ if(document.form1.elements[i].value ==''){ k++; } } if(k == 0 || k==3 || k==6){ window.open('','nWin','width=640,height=320'); }else{ alert('エラーですよ'); } } ---------- <form onsubmit="chk();" name="form1" target="nWin" action="xxx.php" method="post"> <input type="text">が6こ <input type="submit"> </form> で、今フォームの中のnullの数によって、window.openを実行させるかさせないかの実装をしています。 正常フローでwindow.openは発動するのですが、target属性がformに入っているおかげで、エラーでもwindowが新しく開いてしまいます。 targetを消せば、エラーの際はwindowは開きませんが、正常フローの際、windowは開きますが、値がわたりません(親windowに表示されてしまう) あちらをたてればこちらがたたず状態です。 正常フローのときは 子windowが開く 子windowに値がわたり、子windowに表示される エラーのときは 子windowは開かない 親windowにエラーメッセージを表示させる(とりあえずalertでよい) という切り替えをうまくするにはtarget属性をなんとかする以外ないと思うのですが、どうすればうまくいくのか頭を抱えている状態です。 恐れ入りますが、よい案があれば教えていただきたいです。 よろしくお願いします。

  • window.openで開いたページに書き込みたい

    <html> <script language="javascript"><!-- function startIE(jpURL) { var newWindow = window.open(jpURL, null, 'width=500,toolbar=yes,menubar=yes,scrollbars=yes'); newWindow.onload = function() { alert("ページが読み込まれました!");// ここに読み込みが完了したら実行したい処理を記述する var NAIYOU=document.getElementById('NAIYOU'); var Kakikomi=newWindow.document.getElementByName('p'); Kakikomi.innerHTML= NAIYOU.innerHTML; } } // --></script> <a href="javascript:startIE('https://www.yahoo.co.jp/')">IE起動</a> <div id="NAIYO">ああああああああああああああああああああああああ</div> </html> ------------------------------------- divの内容は自動で色々変更するようにしていますが 参考として上記のようにしました。 ボタンを押してブラウザを起動したら、Yahooを開き 「あああああああああああ」を検索ボックスに入れたいと思っています。 しかし、ロードが終わっていない状況だからから 書き込むことが出来ません。 OnLoadを組み込んでみましたが、以下のようなエラーが出ます。 Uncaught DOMException: Blocked a frame with origin "null" from accessing a cross-origin frame. Chromeの拡張機能にしたら出来るようになるのでしょうか? お手数をおかけしますが、回答よろしくお願いいたします。

  • window.openで新しいページを後ろ側に

    <SCRIPT language="JavaScript"> <!-- window.open("url"); //--> </SCRIPT> でページを開いたとき、もう一つのページを表示できますが、この方法だと、新たにopenしたページが元のページの 上に来てしまいます。 新しくオープンするウインドウが、このスクリプトを書いたページの後ろ側、背景にオープンする ようにはできないでしょうか。

  • window.openでタイトル名の指定

    window.openで開くウインドウのタイトルバーに指定文字列を入れたいのですが、できますでしょうか? ファイル(画像)を直リンクで開く為、そのパスが表示されてしまいます。 いろいろ検索して var w1 = ""; w1 = window.open(url , "hoge" , "width=640,height=180,scrollbars=yes,location=1"); w1.document.title = "test"; とかでできると書いてあったサイトもあったのですが私の場合どうもうまくいきません・・。 お願いいたします。

  • window.openについて

    window.openを使って新しいウインドウを開きたいと思い質問させていただきます。 現在、 ---------------------------------------------------------------- <script type="text/javascript"> <!-- function w_opn() { newWin = window.open("abc.html","","width=200,height=300"); win.moveTo(0,0); } // --> </script> そして、BODY内に <a href="javascript:w_opn()">開く</a> --------------------------------------------------------------- というふうに作成しています。 この方法だと、リンク元が複数ある場合、HEAD内のJavaScriptも複数記述しないといけないと思うのですが、これをひとつのJavaScriptで制御したいのです。 どなたかご教授願えませんか?参考になるサイトのURLでも構いません。

  • window,open

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

  • Window.open でフレームに表示

    JAVAを使い、指定のフレームに新しい画面を表示したいのですが、要領が良く判りません。 以下のように _blank で新しいウィンドウを開くのはできます。どなたか ご指導 お願いします。 <TITLE></TITLE> <SCRIPT language="JavaScript"> function new_window(url) { window.open(url, '_blank'); } </SCRIPT> </HEAD> <BODY onload="new_window('comp-page1.htm');">

    • ベストアンサー
    • Java
  • window.open オートコンプリートOFF について。

    window.open オートコンプリートOFF について。 JavaScriptの初心者です。 社内サイトのリンクから、window.openにて指定したURLを新規ウインドウを開き、(社内サイトのプログラムにて)そのウインドウのオートコンプリートをOFFにすることは可能かを調査しております。 自分なりに考えて下記プログラムを作成してみましたが、 var win = window.open("URL","_blank","menubar=no,toolbar=no,location=no"); if (win) win.document.forms[0].autocomplete = "off"; 2行目のところで「アクセスが拒否されました」とエラーになってしまいます。 実現する方法をご教授願います。よろしくお願い致します。

専門家に質問してみよう