sessionStorage.clear() 不工作
sessionStorage.clear() not working
我在一个项目中成功使用了 sessionStorage,但有一个警告:我无法使用 clear()
运算符消除存储,如文档所述。
我在退出我的站点的管理模式时执行此操作,这涉及单击列表中的注销项,如下所示:
<li><a href="admin_logout.php">Log Out</a></li>
admin_logout.php
文件然后销毁session变量等,然后重定向到站点首页。它以前有效的形式是:
<?php
session_start();
session_destroy();
@header('Location:./');
exit;
?>
一切正常。我似乎无法融入例程的是清除sessionStorage。对于我的 admin_logout.php
文件的文本,我试过:
<?php
session_start();
?>
<script>
sessionStorage.clear();
</script>
<?php
session_destroy();
@header('Location:./');
exit;
?>
...以及:
<?php
session_start();
echo '<script>';
echo 'sessionStorage.clear();';
echo '</script>';
session_destroy();
@header('Location:./');
exit;
?>
也许指出根本原因是当我放置:
?>
<script>
alert("HELLO");
</script>
<?php
...在此脚本中,永远不会执行警报,但会执行其他所有操作。我如何调用基于 <script>
的 sessionStorage.clear()
操作来清除上面列出的例程中的会话存储项目?
我认为这是因为您在服务器端进行重定向,而 sessionStorage.clear()
发生在客户端。我相信你会在有机会 运行.
之前重定向
Allicam 是正确的;我需要将存储清除代码封装在一个回调函数中:
<?php
session_start();
session_destroy();
<script type="text/javascript">
function firstFunction(_callback){
sessionStorage.clear();
_callback();
}
function secondFunction(){
firstFunction(function() {
window.location = './';
});
}
secondFunction();
</script>
我在一个项目中成功使用了 sessionStorage,但有一个警告:我无法使用 clear()
运算符消除存储,如文档所述。
我在退出我的站点的管理模式时执行此操作,这涉及单击列表中的注销项,如下所示:
<li><a href="admin_logout.php">Log Out</a></li>
admin_logout.php
文件然后销毁session变量等,然后重定向到站点首页。它以前有效的形式是:
<?php
session_start();
session_destroy();
@header('Location:./');
exit;
?>
一切正常。我似乎无法融入例程的是清除sessionStorage。对于我的 admin_logout.php
文件的文本,我试过:
<?php
session_start();
?>
<script>
sessionStorage.clear();
</script>
<?php
session_destroy();
@header('Location:./');
exit;
?>
...以及:
<?php
session_start();
echo '<script>';
echo 'sessionStorage.clear();';
echo '</script>';
session_destroy();
@header('Location:./');
exit;
?>
也许指出根本原因是当我放置:
?>
<script>
alert("HELLO");
</script>
<?php
...在此脚本中,永远不会执行警报,但会执行其他所有操作。我如何调用基于 <script>
的 sessionStorage.clear()
操作来清除上面列出的例程中的会话存储项目?
我认为这是因为您在服务器端进行重定向,而 sessionStorage.clear()
发生在客户端。我相信你会在有机会 运行.
Allicam 是正确的;我需要将存储清除代码封装在一个回调函数中:
<?php
session_start();
session_destroy();
<script type="text/javascript">
function firstFunction(_callback){
sessionStorage.clear();
_callback();
}
function secondFunction(){
firstFunction(function() {
window.location = './';
});
}
secondFunction();
</script>