Tips †
idとname †
文字列処理 †
イベント †
ブラウザの戻る対応 †
FirefoxとSafariは、「戻る」「進む」で、キャッシュによりonloadがスルーされるような挙動をする
同一生成元ポリシー(Same Origin Policy) †
- セキュリティ上の懸念から、スクリプトによるアクセスの範囲を同一のドメインから提供されるコンテンツのみに制限
クロスドメインアクセスのテクニック †
JSONP †
- JavaScriptの読み込みが同一生成元ポリシーに制約されないことを利用
- 長所
- Google、Yahoo! など多くのWebサービスがJSONP形式のAPIインタフェースを実装済み
- 短所
- 任意のコードの実行を許してしまう可能性がある
- 送信できるのはHTTP GETリクエストのみ(IEの場合は最大2083byte)
フラグメント識別子を利用 †
- 長所
- 単なるメッセージ交換であるため、送受信されるデータフォーマットのチェックが可能
- アクセスを許可するドメインを選択可能
- 短所
- 送信するサイト側にレシーバ用のHTMLの配置を事前に行っておく必要がある
- メッセージ送受信時にURLのフラグメント識別子にメッセージをエンコードする必要がある(URLの最大長に注意)
- IEの場合、フレームリロードの度にクリック音が発生する ← IEうざい。消えろ!
window.nameを利用 †
Cookie †
イベント †
ウィンドウを閉じたイベントでの処理 †
IEはこれで動く
window.onbeforeunload = function()
{
if(((event.clientX > document.body.clientWidth) && (event.clientY<0)) || event.altKey )
{
alert("閉じちゃ、いやーー!!");
}
}
prototype.js を使って同様のことができる
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript">
Event.observe(window, 'beforeunload', function(e) {
// イベントをキャンセルする場合は何も返さない
return e.returnValue = 'beforeunload';
});
</script>
ネットワーク †
文法的なこと †
変数、プロパティが定義されていない(undefined)かの判定 †
その他 †
- onClickだとうまくいかなくて、onMouseDown?だとうまくいくといったケースがある
実例 †
その他 †