【发布时间】:2013-03-14 08:46:46
【问题描述】:
我目前有一个网站,它使用类似购物车的系统来临时保存查询。我目前使用 Javascript onunload 函数来阻止用户离开页面并在购物车中丢失他/她的查询。
我唯一的问题是购物车跨越多个页面,这很好,因为它是基于会话的,但是每当我尝试更改页面时,onunload 甚至会弹出并且可能非常烦人。
是否可以将 onunload 事件设置为浏览器上的关闭按钮,以便仅在他们尝试关闭它时显示?
我希望我们能找到一些东西,因为重新设计网站并不是一个真正的选择,
谢谢
【问题讨论】:
-
临时查询存储在哪里?它们是如何传递到下一页的?如果您将它们存储在session storage 中,它们将在整个会话期间可用,并且会在浏览器/选项卡关闭时自动消失。那就不用
onunload了。 -
它们存储在一个会话中,每个页面都有一个类似购物车的 div,它只是加载和格式化会话。该网站不会打开新窗口或标签。
-
当您在会话中说时,我从您下面的评论中假设您是指 PHP 会话?这将有助于更具体,因为您没有在问题中提到 PHP,也没有用 PHP 标记它。
-
啊,是的。一个 PHP 会话,很抱歉我没想到,因为它最初与 PHP 无关。项目在会话中放入数组中。
标签: javascript browser cart onunload