0

上司は、顧客がカートにアイテムを入れたままサイトを離れようとした場合に、サイトにアラートを表示することを望んでいます。

ユーザーがサイトを離れようとしたときにアラートを表示するにはどうすればよいですか? また、彼らが私たちのサイトの別のページに移動しているだけの場合はアラートを表示したくありませんが、私たちのサイトから完全に離れている場合にのみ表示します.

PS私はフレームワークを使用していません。

4

2 に答える 2

4

ドメインからの離脱を検出する簡単な方法はありません。ページを離れたことは onBeforeUnload イベントで簡単に検出できますが、ドメイン全体を離れることはそれほど簡単ではありません。ここで提案されているように、iframe 内のすべてのページをロードする単一のマスター ページを実装することで、おそらくこれを行うことができます...

于 2009-11-19T15:50:04.300 に答える
0

onbeforeunload イベントを使用して、ページがサイトを離れようとしていることを判断できますが、セキュリティ違反であるため、ページが自分のサイトにある場合でも、ページが移動しようとしている新しい URL を取得することはできません。

私が考えることができる唯一の回避策は、別の投稿で提案されているように、iframe またはフル フレームを使用することですが、これでは URL が静的であることが難しくなり、ブックマークが妨げられます。

例えば:

frame.htm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <script language='JavaScript' type='text/javascript'>
      window.onbeforeunload = function (evt) {
        return "This is a demonstration that you are leaving me";
      }
    </script>

    <frameset border='0' rows="*">
      <frame src='test_page.htm' border=0 scrolling=no frameborder=0 noresize name=top>
    </frameset>
  </body>
</html>

例: テストページ

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
  </head>
  <body>
    Hello World
    <p>
    <a href='javascript:top.location.href="http://www.google.com"'> Outside link Google</a>
    </p>
    <p>
    <a href='http://www.google.com'> Inside frame link to Google</a>
    </p>
  </body>
</html>

これにより、フレーム内またはフレーム外のリンクに移動できます (例として、両方とも同じリンク先)。しかし、外出するかブラウザを閉じた場合にのみ、これを行うかどうか尋ねられますか?

于 2009-11-20T16:16:28.767 に答える