Javascript HTML PHP:防止iframe在页面刷新时记住会话状态
是否有一种方法可以在页面中声明iframe,以便每次刷新页面时,它都会清除其中的任何会话变量Javascript HTML PHP:防止iframe在页面刷新时记住会话状态,javascript,php,html,iframe,Javascript,Php,Html,Iframe,是否有一种方法可以在页面中声明iframe,以便每次刷新页面时,它都会清除其中的任何会话变量 现在,我有一个用.NETMVC编写的web应用程序,它在其中一个页面上加载一个iframe,指向另一个用PHP编写的应用程序。基本上,当我刷新整个页面时,iframe会记住会话状态,但理想情况下每次都会重新启动它。有没有办法做到这一点?或者我需要在iframe on page refresh中调用注销脚本吗?这只是一个概念证明,但它可以工作。 您的项目缺少一些信息,但: 您可以为首次访问创建cookie
现在,我有一个用.NETMVC编写的web应用程序,它在其中一个页面上加载一个iframe,指向另一个用PHP编写的应用程序。基本上,当我刷新整个页面时,iframe会记住会话状态,但理想情况下每次都会重新启动它。有没有办法做到这一点?或者我需要在iframe on page refresh中调用注销脚本吗?这只是一个概念证明,但它可以工作。 您的项目缺少一些信息,但: 您可以为首次访问创建cookie, 如果用户重新加载页面,如果存在cookie 使用参数加载Iframe,否则加载普通Iframe (为了生成iframe,代码特意简短)
带iframe
函数checkFirstVisit(){
if(document.cookie.indexOf('checkreload')=-1){
document.cookie='checkreload=1';
文件。写(“”);
}
否则{
文件。写(“”);
}
}
在php代码(iframe)中,
需要时检查并取消设置即可
<?php
session_start();
if(isset($_GET['reloaded'])) {
unset($_SESSION['name']);
} else {
$_SESSION['name'] = 'nameSession';
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>frame</title>
</head>
<body>
<p>
<?php
if(isset($_SESSION['name'])) {
echo $_SESSION['name'];
}else{
echo 'no name now !';
}
?>
</p>
</body>
</html>
框架
别忘了在方便的时候玩cookie(管理会话)
我希望它能帮助您iFrame没有任何记忆会话信息的机制。正如您所知,iframe只是源的门户。iframe的源是维护会话信息。您可以将变量传递给iframe吗?如果是isset,Unset session var或viceversa,或者在js中使用unload事件通过ajaxim思维触发Unset,从而采用@jmercier方法
<?php
session_start();
if(isset($_GET['reloaded'])) {
unset($_SESSION['name']);
} else {
$_SESSION['name'] = 'nameSession';
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>frame</title>
</head>
<body>
<p>
<?php
if(isset($_SESSION['name'])) {
echo $_SESSION['name'];
}else{
echo 'no name now !';
}
?>
</p>
</body>
</html>