こんなスクリプトは作ることは可能でしょうか。
無料、有料問いませんので、教えてもらえれば幸いです。
1、ブラウザでなにかウェブページを見ているときに、画面を閉じるボタンをクリックする
2、確認画面が表示され、「こちらの商品はいかがですか?興味がある場合はOKを、不要な場合はいいえをクリックしてください。」みたいなメッセージが表示される。
3、OKをクリックすると、別のページにジャンプ
4、いいえをクリックすると、最初のページに戻る
※いいえをクリックして最初の画面に戻った後、再度ページを閉じる際は、
確認画面は表示されない。
分かりやすい例はこんな感じです。
http://www.virtualsmartagent.com/
上記のページは閉じようとすると、
バーチャルエージェントが出てきて、何か商品をすすめてきます。
私の場合は、単純にページを閉じる→確認画面表示→OKボタンをクリック→別画面表示
というようなことを実現したいと思っています。
詳しい方はぜひ教えてください。
onUnLoadというイベントを拾うなどで可能ではありますが・・・
(1)
クライアントサイドスクリプトが禁止されていれば動きません。
(2)
私見ではありますが、
そのような鬱陶しい事をするページは二度と開かない可能性が非常に高い。
「いっしょにポテトはいかがですか?」は聞き過ごせば済むけど
無理からに「返事を要求される」とどうですか?
クリックを要求される側の立場にたってみてください。
とりあえず、上記参考ページは素直に閉じれちゃいましたし(Firefox)
私もそういうページには二度と訪問しないですが。
まあ一応
とか
が参考になるかも。
ありがとうございます。上記参考ページ、実は間違えて違うものを紹介してしまいました。参照URLありがとうございました。
HMTLだけでも実現できますね。
メインページ複製してそこからは移動しないと。
閉じるボタンがウソをついてるところがポイントです。
サンプルつくってみました。
URLに注目してください。
なんか開くのめんどくさいですね。いかに見てる人をほかに出さないか。
あまりいいと方法じゃないと思います…。
ブラウザをそのまま閉じられると(右上×ボタン)すぐ閉じれます。
スマートな方法としてクッキー使っちゃう方法はありだと思います。
わざわざ作ってもらってありがとうございます。
参考になりました。
その手の処理は、できたとしてもブラウザ依存になります。
ご質問で紹介いただいたサイトも、セキュリティ設定の関係なのか、手持ちのIE8では閉じるときに何も表示されません。
onUnload イベントでは、×(閉じる)ボタンを押下した場合のイベントを完全に実行できないことがあります。イベントが終了する前にブラウザが終了してしまうと、そのイベントが打ち切られるためです。
そこで、onBeforeUnloadイベントを使った方法が考えられますが、これはIE7限定です。
function window.onBeforeUnload() { if(((event.clientX > document.body.clientWidth) && (event.clientY<0)) || event.altKey){ 処理を書く } }
具体的に説明してもらい、ありがとうございます。
とても参考になります。
できません。
IE6で、該当ページを見ましたがそのような動作をしませんでした。
できないというのは、できることがセキュリティに引っかかるので
できないことが正しいからです。
そういうことが可能なら、ブラウザを閉じても閉じても閉じられないとか
いうものが作成可能であり、そんなものが簡単にできるとなっては駄目だからです。
ということで、多くの人のパソコンでは動作しないものを作っても意味がないので、
結論としては、できない。
ありがとうございました。
ご意見ありがとうございます。