javascript上での動作開始のパターン
javascriptを呼び出すにはonloadだったりonclickだったりあるが、いまいち頭に整理できていなかったのでよく使う実行パターンをタイミング別にまとめてみた。
参考:http://www.shurey.com/js/samples/0_bsc2.html
http://so-zou.jp/web-app/tech/programming/javascript/event/handler/onload.htm
1.読み込み時に実行
1-1.直接記述
<script type="text/javascript"> <!-- (ここにスクリプトを記述) //--> </script>
1-2.onload()で記述
複数読み込まれると後に読み込まれたものが優先される。
<script type="text/javascript"> window.onload = function(){ <!-- (ここにスクリプトを記述) //--> }; </script>
2.(ボタンorリンク)クリック時に実行
2-1.リンクをクリック(直接記述)
<a href="javascript:(ここにスクリプトを記述)">クリック</a>
2-2.リンクをクリック(呼出)
<a href="javascript:(ユーザー関数)">クリック</a> <script type="text/javascript"> <!-- function(ユーザー関数){ (ここにスクリプトを記述) } //--> </script>
2-3.ボタンをクリック
<form><input type="button" value="クリック" onClick="(ユーザー関数)"></form> <script type="text/javascript"> <!-- function(ユーザー関数){ (ここにスクリプトを記述) } //--> </script>
3.その他イベント時
WOL(Wake On Lan)で出先から自宅PCを起動 その1
たまに、出先でファイルだったりソフトだったり自宅PCの環境が必要になることがある。
今までは、常時起動しておいてリモート接続(teamViewer)で利用していた。
ただ、常時起動はなんかやだな(電気代+夏場の発熱)という気になってきて、Wake On Lanでのリモート起動をできるようにした。
ルータ再起動でグローバルIPが変更されてしまい、IP既知の時しか起動できないという課題は残っているが、
現状の構成・設定を以下に残しておく。
1.ネットワーク構成
ネットワーク構成は図のようになった。
①Wimaxルータ
既存のネットワーク環境。特に設定なし。グローバルIPが変更されるという課題がある。
②WOL用ルータ
今回のために購入。WOLをするのに必要。amazonで4000円くらいだった。
③起動するPC(windows8)
マザーボードがWOLに対応している必要がある。最近はほぼ対応しているらしいが、行う場合は事前に調べることが必要。
2.詳細
①Wimaxルータ
今回は特に設定の必要なし。ただしIPに関して注意が必要。
・起動のたびにグローバルIPが変更されてしまう。
2つ目について、niftyの提供するIPがグローバルIPなのプライベートIPなのかの記載がどこを探してもなかった。UQ wimaxなどは2013年6月の段階でプライベートIPへの順次移行を発表している。(http://www.uqwimax.jp/service/information/201305071.html)すぐに変わってしまうということはないかもしれないが、懸念事項としておかなければならなそう。
②WOL用ルータ
設定のポイントは2つ
・ブリッジモードにする。
WG300HPにはルータ機能を停止したブリッジモードが存在する。このモードにしないと、ルータがグローバルIPを取得できない。やり方は以下の公式マニュアル。
http://www.aterm.jp/function/wg300hp/guide/wireless/list/m01_m60.html
・WOLを行う設定。これはマニュアル通りでできた。
http://www.aterm.jp/function/wg300hp/guide/high/wol/m04_t.html
③起動するPC(windows8)
ここまで上手く設定ができているとWOLを行うと、ルータからmagic packetというものが送られる。これをPC側で認識し起動しなければならない。
・windowsの設定
http://www.atmarkit.co.jp/ait/articles/0602/25/news014.html
・biosの設定
今回のPCでは
- [ディープ パワーオフ モード] に移動し、[入力] を押して [無効] に設定。
- [LANポートで電源オン] に移動し、[入力] を押して [有効] に設定。
この2つで設定ができた。
3.残っている課題
Wimaxルータの時に挙げた、「起動のたびグローバルIPが変更」「グローバルIPがプライベートIPになる可能性」がある。
「起動のたびグローバルIPが変更」について、有償のDDNSを利用すれば間違いなくできそう。ただこれ以上コストをかけるつもりはないので、・フリーのDDNSを利用、・自動検知+メール通知のスクリプトを組む、のどちらかで対応しようと思う。
「グローバルIPがプライベートIPになる可能性」については、まだどうなるかが全く分からないので起こってから考える。そのころには別のネット環境にしたくなっているはず。