アカウント名:
パスワード:
onunload イベントを使って window.open しててスマホだとアプリ切っても前回のタブが保存されてるから無限ループにハマってると思うんだけどこれ機内モードにしてリロードしたらページ開くのに失敗するから簡単に抜けられるんじゃないの?
手元の htc j butterfly (Android 4.1.1) で確認してみました。標準ブラウザは仰る通りページを開くのに失敗しましたが、Chrome ブラウザの環境では、キャッシュに存在するページを表示するだけで、開くのに失敗はしませんでした。確認した手順は以下の通りです。 1. ブラウザで適当なページを表示 2. ホームボタンでホームに戻る 3. 機内モードに変更 4. 「最近使用したアプリケーション」から Chrome ブラウザを削除 5. ブラウザを再表示
よって、元記事にあるような「ブラウザのキャッシュ/履歴を消去すれば良い」という話が出てくるのだと思います。※ 環境によって動きは違うかもしれません。
検証ありがとうございます。上記の手順で3.5 または 6 にメニューからリロードを選択って手順を追加すると Chrome でも読み込みに失敗しませんか?
それよりも、さっきから jQuery 1.11.2 と 2.1.3 で unload や beforeunload イベントを捕まえようと試してるんだけど、$(window).on("unload", function(){alert("unload");});$(window).on("beforeunload", function(){alert("beforeunload");});ってコードがWIndows 7 の IE 11.0.9600.17420だと動くんだけどWindows 7 の Firefox 35.0
Xperia ray の com.android.browser 2.3.3では動くけど com.mozilla.firefox_beta 30.0では動かないな
unload イベントって廃止の方向???
少なくともFirefoxでは、unload時の window.open, alert, confirm系は無効になってますね。
https://developer.mozilla.org/en-US/docs/Web/Events/unload [mozilla.org]
おぉ、本当だ
https://developer.mozilla.org/en-US/docs/Web/Events/beforeunload [mozilla.org]の方も見てみると HTML5 の仕様で window.alert(), window.confirm(), and window.prompt() が無視されるって書いてありますね。
不思議な事に window.open() についてはunload では駄目みたいですが beforeunload では動作するみたいですけどw
ありがとうございました
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ハッカーとクラッカーの違い。大してないと思います -- あるアレゲ
仕組み的に (スコア:3)
onunload イベントを使って window.open してて
スマホだとアプリ切っても前回のタブが保存されてるから無限ループにハマってると思うんだけど
これ機内モードにしてリロードしたらページ開くのに失敗するから簡単に抜けられるんじゃないの?
uxi
Re: (スコア:4, 参考になる)
手元の htc j butterfly (Android 4.1.1) で確認してみました。
標準ブラウザは仰る通りページを開くのに失敗しましたが、Chrome ブラウザの環境では、
キャッシュに存在するページを表示するだけで、開くのに失敗はしませんでした。
確認した手順は以下の通りです。
1. ブラウザで適当なページを表示
2. ホームボタンでホームに戻る
3. 機内モードに変更
4. 「最近使用したアプリケーション」から Chrome ブラウザを削除
5. ブラウザを再表示
よって、元記事にあるような「ブラウザのキャッシュ/履歴を消去すれば良い」という話が出てくるのだと思います。
※ 環境によって動きは違うかもしれません。
Re: (スコア:2)
検証ありがとうございます。
上記の手順で
3.5 または 6 に
メニューからリロードを選択
って手順を追加すると Chrome でも読み込みに失敗しませんか?
それよりも、さっきから jQuery 1.11.2 と 2.1.3 で unload や beforeunload イベントを捕まえようと試してるんだけど、
$(window).on("unload", function(){alert("unload");});
$(window).on("beforeunload", function(){alert("beforeunload");});
ってコードが
WIndows 7 の
IE 11.0.9600.17420
だと動くんだけど
Windows 7 の
Firefox 35.0
uxi
Re: (スコア:2)
Xperia ray の
com.android.browser 2.3.3
では動くけど
com.mozilla.firefox_beta 30.0
では動かないな
unload イベントって廃止の方向???
uxi
Re:仕組み的に (スコア:0)
少なくともFirefoxでは、unload時の window.open, alert, confirm系は無効になってますね。
https://developer.mozilla.org/en-US/docs/Web/Events/unload [mozilla.org]
Re:仕組み的に (スコア:2)
おぉ、本当だ
https://developer.mozilla.org/en-US/docs/Web/Events/beforeunload [mozilla.org]
の方も見てみると HTML5 の仕様で window.alert(), window.confirm(), and window.prompt() が
無視されるって書いてありますね。
不思議な事に window.open() については
unload では駄目みたいですが beforeunload では動作するみたいですけどw
ありがとうございました
uxi