Javascript如何在用户尝试退出或刷新页面时触发函数
当用户在阅读产品价格后试图退出页面时,我想给他们第一次折扣Javascript如何在用户尝试退出或刷新页面时触发函数,javascript,html,ajax,Javascript,Html,Ajax,当用户在阅读产品价格后试图退出页面时,我想给他们第一次折扣 如果他们选择“是”他们购买产品而不是关闭窗口,如果他们选择“否”我会打第二次折扣 这将是最后一次报价 如果他们第二次再次单击“否”,他的浏览器将 关闭,否则他将以给定的第二折扣购买产品 价格 我的示例如下所示: <script type="text/javascript"> function getOffers() { var question1 = confirm("Wait! we are now offering
<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>
函数getOffers()
{
var question1=确认(“等等!我们现在提供25.00美元的产品,买吗?”);
如果(问题1=='true')
{
警报(“您购买本产品的价格为25.00美元”);
}
其他的
{
var question2=确认(“等等!我们想提供一个最终报价,产品价格为$15.00,购买吗?”);
如果(问题2==真)
{
警报(“您购买本产品的价格为15.00美元”);
}
其他的
{
//关上这个窗户
}
}
}
我的问题是,当用户试图退出(或)刷新页面时,如何触发此功能。
其他信息:
我已经重写了代码,并试图修复恼人的页面加载弹出窗口,有人能就此向我提出建议吗
<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>
函数getOffers()
{
//警报(第一时间);
如果(第一次==“否”)
{
var question1=确认(“等等!我们现在提供25.00美元的产品,买吗?”);
如果(问题1=='true')
{
警报(“您购买本产品的价格为25.00美元”);
}
其他的
{
var question2=确认(“等等!我们想提供一个最终报价,产品价格为$15.00,购买吗?”);
如果(问题2==真)
{
警报(“您购买本产品的价格为15.00美元”);
}
其他的
{
//关上这个窗户
}
}
}
}
window.onunload=函数(){
第一次='否';
getOffers();
}
window.onload=函数(){
第一次='是';
getOffers();
}
我试图传递一个全局变量'firstTime'来检查它是否来自onLoad然后不显示offer如果它来自onnload然后显示offer。这个问题有什么解决方案吗?使用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;
}
玩转它。使用onunload和onload
window.onunload = function(){getOffers();}
window.onload = function(){getOffers();}
<body onunload="OnUnload()">
虽然它会在用户第一次加载页面时显示,所以我不建议这样做
关于如何区分首次加载和刷新,
我没有尝试过,但我在某处发现了以下代码:
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;
}
玩弄它。我知道答案但我不会发帖,因为这种行为太邪恶/令人讨厌了,这是不是很奇怪?@jbabey:不;这样的情况是很平常的@不要这样做。这非常烦人,会让用户对你的网站评价很低。你为什么不付钱给开发者帮你解决这个问题呢。像这样的事情让我想踢东西。我知道答案但不发帖子是不是很奇怪,因为这种行为太邪恶/令人讨厌了?@jbabey:不;这样的情况是很平常的@不要这样做。这非常烦人,会让用户对你的网站评价很低。你为什么不付钱给开发者帮你解决这个问题呢。像这样的事情让我想踢东西。嗨,埃里克,有没有一种方法来检查功能从显示在页面加载第一次?比如在getOffers()中添加某种检查,这样用户就不会觉得它烦人了?如果我们能找到解决这个问题的方法,这将是非常棒的,并且对很多人都很有帮助。嗨,Eric,有没有一种方法可以检查第一次在页面加载时显示的功能?比如在getOffers()中添加某种检查,这样用户就不会觉得它烦人了?如果我们能找到解决这一问题的方法,那将是非常棒的,对很多人都很有帮助。
<body onunload="OnUnload()">