0

ユーザーが商品の価格を読んだ後にページを離れようとしたときに、最初の割引を提供したいと考えています。

  1. 彼らが「はい」を選択した場合、ウィンドウを閉じる代わりに製品を購入します。「いいえ」を選択した場合、私は 2 回目の割引オファーを行い、今回が最後のオファーになります。

  2. 2 回目でも「いいえ」をクリックすると、ブラウザが閉じられるか、指定された 2 回目の割引価格で製品を購入します。

私の例を以下に示します。

<script type="text/javascript">
function getOffers()
{
  var question1 = confirm("Wait! we are now offering this Product in $25.00, buy it?");
  if(question1 == 'true')
  {
        alert('You have purchased this product for $25.00');
  }
  else
  {
        var question2 = confirm("Wait! we would like to make one Final Offer, price of Product in $15.00, buy it?");
        if(question2 == true)
        {
              alert('You have purchased this product for $15.00');
        }
        else
        {
              //Close this window
        }
  }
}
</script>

私の質問は、ユーザーがページを終了 (または) 更新しようとしたときに、この関数をトリガーするにはどうすればよいかということです。

追加情報:

コードを書き直して、迷惑なページ読み込みポップアップを修正しようとしましたが、これについて誰かが私に提案できますか?

<script type="text/javascript">
function getOffers()
{
  //alert(firrsTime);
  if(firstTime == 'no')
  {
      var question1 = confirm("Wait! we are now offering this Product in $25.00, buy it?");
      if(question1 == 'true')
      {
            alert('You have purchased this product for $25.00');
      }
      else
      {
            var question2 = confirm("Wait! we would like to make one Final Offer, price of Product in $15.00, buy it?");
            if(question2 == true)
            {
                  alert('You have purchased this product for $15.00');
            }
            else
            {
                  //Close this window
            }
      }
  }
}

window.onunload = function(){
    firstTime = 'no';
    getOffers();
}
window.onload = function(){
    firstTime = 'yes';
    getOffers();
}
</script>

グローバル変数「firstTime」を渡してonLoadからのものかどうかを確認し、onUnloadからのものである場合はオファーを表示せず、オファーを表示しようとしています。この問題の解決策はありますか?

4

2 に答える 2

3

onunloadとonloadを使用します。

window.onunload = function(){getOffers();}
window.onload = function(){getOffers();}

ユーザーが最初にページを読み込んだときに表示されるので、そうすることはお勧めしません。

最初のロードと更新を区別する方法について、これを試したことはありませんが、このコードをどこかで見つけました:

    function OnCrmPageLoad()
{
   //bind to the onsave event
   crmForm.attachEvent(“onsave”,OnCrmPageSave);

   if (crmForm.new_ispostback.DataValue ==  true)
   {
           //form was saved
           //reset the field
            crmForm.new_ispostback.DataValue = false;
   }
}

function OnCrmPageSave()
{
    // validate form if needed
    crmForm.new_ispostback.DataValue = event.returnValue = true;
    crmForm.new_ispostback.ForceSubmit = true;
     return true;
}

それで遊んでください。

于 2012-05-16T19:46:14.983 に答える
3
<body onunload="OnUnload()">

それから

function OnUnload()
{
   //put code here
}
于 2012-05-16T19:46:29.443 に答える