人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Webプログラミングに詳しい方へ質問です。
こんなスクリプトは作ることは可能でしょうか。
無料、有料問いませんので、教えてもらえれば幸いです。

1、ブラウザでなにかウェブページを見ているときに、画面を閉じるボタンをクリックする
2、確認画面が表示され、「こちらの商品はいかがですか?興味がある場合はOKを、不要な場合はいいえをクリックしてください。」みたいなメッセージが表示される。
3、OKをクリックすると、別のページにジャンプ
4、いいえをクリックすると、最初のページに戻る
※いいえをクリックして最初の画面に戻った後、再度ページを閉じる際は、
確認画面は表示されない。

分かりやすい例はこんな感じです。
http://www.virtualsmartagent.com/

上記のページは閉じようとすると、
バーチャルエージェントが出てきて、何か商品をすすめてきます。

私の場合は、単純にページを閉じる→確認画面表示→OKボタンをクリック→別画面表示
というようなことを実現したいと思っています。

詳しい方はぜひ教えてください。

●質問者: jonasundwibi
●カテゴリ:インターネット ウェブ制作
✍キーワード:Web ウェブページ エージェント クリック ジャンプ
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● kn1967
●17ポイント

onUnLoadというイベントを拾うなどで可能ではありますが・・・

JavaScript : onUnload

(1)

クライアントサイドスクリプトが禁止されていれば動きません。

(2)

私見ではありますが、

そのような鬱陶しい事をするページは二度と開かない可能性が非常に高い。

「いっしょにポテトはいかがですか?」は聞き過ごせば済むけど

無理からに「返事を要求される」とどうですか?

クリックを要求される側の立場にたってみてください。

◎質問者からの返答

ありがとうございました。

ご意見ありがとうございます。


2 ● khazad-Lefty
●17ポイント

とりあえず、上記参考ページは素直に閉じれちゃいましたし(Firefox)

私もそういうページには二度と訪問しないですが。

まあ一応

GAC なぜなにGAC->JavaScript

とか

javascript:ページ遷移時に確認を出して、キャンセルしたら、遷移しないということをしたいと考えています。 window.addEventListener('beforeunload', function(){ if (ex.. - 人力検索はてな

が参考になるかも。

◎質問者からの返答

ありがとうございます。上記参考ページ、実は間違えて違うものを紹介してしまいました。参照URLありがとうございました。


3 ● きあ
●25ポイント

HMTLだけでも実現できますね。

メインページ複製してそこからは移動しないと。

閉じるボタンがウソをついてるところがポイントです。

サンプルつくってみました。

URLに注目してください。

作ってみた


なんか開くのめんどくさいですね。いかに見てる人をほかに出さないか。

あまりいいと方法じゃないと思います…。

ブラウザをそのまま閉じられると(右上×ボタン)すぐ閉じれます。


スマートな方法としてクッキー使っちゃう方法はありだと思います。

http://beginners.atompro.net/smpjvsc_cookie.shtml

◎質問者からの返答

わざわざ作ってもらってありがとうございます。

参考になりました。


4 ● pahoo
●25ポイント

その手の処理は、できたとしてもブラウザ依存になります。

ご質問で紹介いただいたサイトも、セキュリティ設定の関係なのか、手持ちのIE8では閉じるときに何も表示されません。


onUnload イベントでは、×(閉じる)ボタンを押下した場合のイベントを完全に実行できないことがあります。イベントが終了する前にブラウザが終了してしまうと、そのイベントが打ち切られるためです。

そこで、onBeforeUnloadイベントを使った方法が考えられますが、これはIE7限定です。

function window.onBeforeUnload() {
 if(((event.clientX > document.body.clientWidth) && (event.clientY<0)) || event.altKey){
 処理を書く
 }
}
◎質問者からの返答

具体的に説明してもらい、ありがとうございます。

とても参考になります。


5 ● hijk05
●16ポイント

できません。

IE6で、該当ページを見ましたがそのような動作をしませんでした。

できないというのは、できることがセキュリティに引っかかるので

できないことが正しいからです。

そういうことが可能なら、ブラウザを閉じても閉じても閉じられないとか

いうものが作成可能であり、そんなものが簡単にできるとなっては駄目だからです。

ということで、多くの人のパソコンでは動作しないものを作っても意味がないので、

結論としては、できない。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ