<body onload="kansuu()" onunload="kansuu()" onbeforeunload="kansuu()">
</body>
javascriptでkansuuを呼び出すタイミングがイマイチ分かってません。
1回更新ボタンを押せば3つのイベントハンドラが動くのですが、上記のように実行すると実行結果はunbeforeunloadのせいでページが2度更新されてしまいます。
onsubmitにreturn falseがあるようにページを2度更新をしないでonbeforeunloadを実行できるのでしょうか。
あと、kansuu()をいじらずにbody内で処理できるものなのでしょうか。
分かる方ぜひ教えてください
No.1ベストアンサー
- 回答日時:
onloadは画面の表示が終わったタイミング。
画像等があればそれが完全に表示されたら実行されるわ。
(画像が壊れていたら壊れたとこまでの表示)
unloadは現在のページから切り替わるタイミング。
onbeforeunloadはunloadの直前よ。
kansuu()が何しているのかわからないので
2回更新とか意味不明だけど
実行タイミングは上の通りよ。
2回実行されるのが嫌なら
フラグでも立ててやればいいと思うわ。
これ以上は情報不足で何も語れないので
必要ならもっと情報プリーズ。
この回答への補足
すいません説明不足で
調べてみたら、onunloadイベントはあるHTMLの表示を終了して別のページへ移るときに生じるという記述がありました。
HTMLの表示を終了して別のページに移らない方法を教えてください。
2度実行されるというのは1回目がunloadが実行されて2回目が別のページに飛ぶという意味で記述しました。
コレだけで分かりますでしょうか。
No.4
- 回答日時:
うーん
onloadはiframe使えば余裕だけど
onunloadとかはどうやって呼ばせるつもりなのかしら。
ちょっと答えが興味あるわ。
ありがとうございます。iframeを使ってonloadが実行できました。
onunloadの場合はonunload='kansuu();false'を使ってみました。
結果は別のページに飛びますか?の表示が出るようになったのですが、
falseのままOKボタンを押したら別のページ(更新)に移ってしまいダメでした。
また何か分かればレスいただけると嬉しいです。
No.3
- 回答日時:
いまいち何をするのか分からないけど
なんだか面白そうね。
<html>
<body onunload="location.href=location.href;">
<a href="http://www.google.co.jp">ぐーぐる</a>
</body>
</html>
一応こんな風にすれば
リンク「ぐーぐる」をクリックしても
延々同じページを表示し続けるようになるわよ。
もっともその謎解きで有効かどうかは分からないけど。
とりあえず今のとこはこんな感じかな
この回答への補足
お答えいただきありがとうございます。
謎解きのページの公開は原則禁止されておりますが、質問掲示板での投稿を試みましたがいい返事はいただけませんでした。
あまり、方法としてはよくありませんが自作で改良したのをほんの少しだけ公開します。
どうすればよいのかご指導お願いします。
http://www10.atpages.jp/nobolc/a.html
No.2
- 回答日時:
何をしたいのかまったくが判らないわ。
隣にいて見てあげれば判るのかもしれないけど
正直なところ
・あなたが何を作ったのか
・何を目標としているのか
・どうなってしまっているのか
この3つが欠片も判らないの。
とりあえずあなたの補足に対していくつか質問させていただくわね。
その1)
3つのイベントハンドラの実行タイミングは理解できた?
その2)
> HTMLの表示を終了して別のページに移らない方法
処理として別のページに移るような処理を組みこまなければいいのよ?
組み込んでいるってこと?
その3)
> 1回目がunloadが実行されて2回目が別のページに飛ぶ
onunloadとonbeforeunloadで同じ処理をしているてことじゃないの?
ページが移れば両方とも実行されるから
onunloadとonbeforeunloadで同じ関数を呼べば
理論上同じ処理が2回実行されるわ。
単純に考えると
onunloadとonbeforeunloadのどっちか片方だけにすればいいんじゃない?
て思っちゃうんだけど。
そういう問題じゃないのかしら。
この回答への補足
せっかく説明されてたのにどこまで理解できたか申し上げなくてすいませんでした。
>目標はonload、onunload、onbeforeunloadの同時実行です。
3つできれば申し分ないんですが、出来れば2つ以上の実行が望ましいです。
>何を作りたいのかというのには問いにはあるページの謎解きでして50以上のjavascriptイベントハンドラをそのページで実行しないとと次の問題に進めない仕組みになってるというわけです。
>次にどこまで進行してるかというとonload、onunload、onbeforeunloadの別々に単独で動かしてみる作業をしてみたんですが、onloadはonbeforeunloadは成功。onunloadだけは実行はされてるんですが、別のページに飛んでしまいます。
>1の質問に答えさせていただきますと
実行タイミングは先日のご説明で理解できました。ありがとうございます。
>2の質問は謎解きのページの中にswfファイル(実行ファイル)が組み込まれていて<body onunload="kansuu()">と打ち込むと成功しましたとアラート関数で表示されます。ですが、そのページにとどまって欲しいのに更新されてしまいます(別のページにとぶという言い方をしましたが更新されてしまうが正しいです)
すいません話が飛びましたが、
質問の答えは組み込まれたkansuu()がどういう仕組みで動いてるかということは謎解きのページなので隠されたままです。
>その3の質問 そうですね、単体では試しましたがその2つonunloadとonbeforeunloadの場合の実行は試してないのでなんともいえませんが、
おそらく2回更新されると思います。
全部の場合(3つ同時実行と単体実行以外)をまだ試してなかったので勉強になりました。早速試してみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 追加ボタンを押した際に ok ボタンを押した場合のみ入力値が追記されるようにしたいです 6 2022/05/29 09:57
- JavaScript 指定時間になったら、WEBサイトの更新を自動で行うには…? 3 2022/04/28 22:14
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- PHP PHP MySql ページング 2 2022/09/20 06:38
- JavaScript ifreamをリロードしたい 1 2022/05/03 16:15
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- Android(アンドロイド) アップデート配信終了したはずの Pixel3a にアップデートが来たのですが... 2 2022/09/16 18:29
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
if(1){...}とはどういうことで...
-
デザイン時のVisible=Falseは実...
-
JSPの処理の途中で、JavaScript...
-
jQuery ui Datepicker 明日以降...
-
innerHTMLなどの反映タイミング
-
C#でボタン名を変更しても動く
-
〔Excel:VBA〕マクロの実行が異...
-
PowerPointで時計表示
-
初心者です。gulpでコンパイル...
-
ラベルの色がかわってくれない
-
Excelのマクロ一括実行ができな...
-
VBの実行シーケンスについて
-
VBA ステータスバー DoEvents
-
resizeToメソッドが動作しません
-
1つのVBAコードをすべてのコア...
-
再帰呼び出しになってしまうの...
-
共通の値をもつ座標の組み合わ...
-
リクエスト結果が一瞬しか表示...
-
既存のwebサイトで、ローカルの...
-
計算結果が毎回違う。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
以下のコードを実行しても、オ...
-
JSPの処理の途中で、JavaScript...
-
if(1){...}とはどういうことで...
-
1つのVBAコードをすべてのコア...
-
VBA ステータスバー DoEvents
-
〔Excel:VBA〕マクロの実行が異...
-
jQuery ui Datepicker 明日以降...
-
デザイン時のVisible=Falseは実...
-
VBA SORT Applyでエラー
-
リクエスト結果が一瞬しか表示...
-
C#でボタン名を変更しても動く
-
PowerPointで時計表示
-
innerHTMLなどの反映タイミング
-
javascriptで最初のところに戻...
-
初心者です。gulpでコンパイル...
-
onbeforeunload と aタグの hre...
-
ラベルの色がかわってくれない
-
エクセル VBA タイマー動作 の...
-
JavaScriptで、実行するたび値...
-
Excel VBA にて JavaScript の...
おすすめ情報