【发布时间】:2016-03-21 17:37:27
【问题描述】:
我正在通过
生成唯一IDsession_start();
$id = session_id();
然后我将 Web 应用程序的内容保存在数据库中,其中主键等于 $id。我这样做是为了在刷新后保留页面的内容。
但是当我打开另一个标签时,两个页面的内容是相等的。
我对 sessionStorage 很感兴趣,但只有在第一次打开选项卡时才需要生成特定的 ID,并在刷新后避免这种行为。
我很想通过 JavaScript 或 HTML5 解决这个问题,因为 PHP 在服务器端运行。
【问题讨论】:
-
这是因为会话(默认情况下)使用 cookie,并且 cookie 在浏览器实例中的所有选项卡之间共享。这意味着每个选项卡都将具有相同的会话 cookie,因此具有相同的 ID。您需要在色情 ahem 私人/icognito 模式下打开表格,这样他们就不会共享 cookie,或者不为此使用会话。
-
如果您需要在浏览器上动态创建元素的唯一ID,您可以使用JavaScript Date 对象和getTime() 方法w3schools.com/jsref/jsref_gettime.asp
-
@jyrkim 我喜欢这个 getTime() 的想法,我会把它和 sessionStorage 结合起来,谢谢!
标签: javascript php jquery html session-storage