这是我想要做的:
当用户注册时,我将当前窗口存储在变量中,并向他发送电子邮件:
<script>sessionStorage.setItem("window", window)</script>
<?php
sendEmail(/*...*/);
?>
[当用户打开电子邮件时,我从存储中获取先前保存的窗口并关闭它]
<script>sessionStorage.getItem("window").close()<script>
这将防止浏览器在同一域上打开太多无用的窗口。
问题是我得到这样的错误:
Uncaught TypeError: sessionStorage.getItem(...).close is not a function
(如果我以前将其存储在变量中,结果相同)
此外,当我登录当前窗口时,我得到一个包含每个方法的对象:
Window {parent: Window, opener: null, top: Window, length: 0, frames: Window, …}
alert: ƒ alert()
...
当我登录存储的函数时,我得到了这个:
[object Window]
有没有办法实现我的目标?
是否可以将窗口作为简单变量传递?
我做错什么了吗?
之所以发生这种情况,是因为sessionStorage
不存储对象