まず・・・
初心者です^^;
※尚、本サイトの記事は個人的な勉強のメモのため、内容の正確性には責任が持てません。予めご了承ください。
変数
JavaScriptの変数はオブジェクトであり、配列であり、連想配列である。
(なのに何故か私の環境では.pushu()とか.lengthとか、
あまつさえvar array = new Array()や{}すらis not a functionなのはなぜだ・・・
IE6.0.2900.2180・・・SP2なんですけど。。。)
JavaScriptのバージョンか?と思って調べたけど、
バージョン指定とかはできないようですね。しかも2.0でもOKって診断されてるし・・・。
ちなみにここのサイトを参照させて頂きました♪
ウィンドウオープン
とりあえず、
window.open('遷移先URL', '遷移先名', 'スタイル')
で別窓をあげられる。
window.showModalDialg('遷移先URL', 'dialogArgumentsへ引き継ぐdocument', 'スタイル')
で立ち上げればモーダルな別窓(実際はダイアログ)をあげられる。
立ち上げ元画面を操作したい場合はwindow.openだと、1度遷移してしまうと
元画面(親画面)のdocument情報が失われてしまうので、
モーダルなダイアログでFramesetを利用して作成すると元画面をいぢれる。
HTMLリンクでも、submitできます。
href属性でJavaScriptを呼びます。
href="JavaScript:pandaSubmit();"呼び出されたfunctionの中で、
document.form名.target="panda_Z";
document.form名.method="post";
document.form名.action="遷移先";
とやってあげて、document.form名.submit();
としてあげればよいです。
ちなみに、formタグのsubmitを回避するには、
return false;
でfanctionがfalseを返すようにしてください。
画面名
self.name
で自画面の名前を表示できる。
一番最初に立ち上げたウィンドウには名前が無いので、
window.onload=function() {
self.name="mainWindow";
}
というように、立ち上げ時に名前を付与してあげると
子ウィンドウからオープンのターゲットにすることができる。
処理順序
上から順に処理されるのはそうなんですが・・・
メソッドを呼んだ場合、そのメソッドの処理が終わる前に
次のメソッドを呼んだりします。。。
別窓をあげたときなどは、完全に処理は分離し、
並列実行されます。
逐次には実行してくれないようで・・・。
唯一待たせられるのが、
モーダルダイアログであれば、モーダル側での処理が終わるまで
元画面の更新のみ、待ってくれます。(その他の処理はしちゃうようです。。。)
JavaScriptにはwaitやsleepという処理はないので、
set/crearIntervalメソッドを利用して擬似タイマで処理できたりする場合もあるようです。
詳細はこちらを参照。