javascript - HTML PHP : Preventing an iframe from remembering session state on page refresh

标签 javascript php html iframe

有没有办法在页面中声明 iframe,以便每次刷新页面时都会清除其中的所有 session 变量?

现在我有一个用 .NET MVC 编写的 Web 应用程序,它在其中一个页面上加载一个 iframe,该 iframe 指向另一个用 PHP 编写的应用程序。基本上发生的情况是,当我刷新整个页面时,iframe 正在记住 session 状态,但理想情况下每次都希望重新启动它。有什么方法可以做到这一点吗?或者我需要在页面刷新时在 iframe 中调用注销脚本吗?

最佳答案

这只是一个概念证明,但它确实有效。 您的项目缺少一些信息,但是:

您可以为第一次访问创建cookie, 如果用户重新加载页面并且 cookie 是否存在

加载带参数的iframe,否则加载普通iframe (代码故意简短以生成 iframe)

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>with iframe</title>
    <script>
        function checkFirstVisit() {    
            if(document.cookie.indexOf('checkreload')==-1) {
                document.cookie = 'checkreload=1';
                document.write('<iframe width="560" height="315" src="content.php"></iframe> ');
            }
            else {
                document.write('<iframe width="560" height="315" src="content.php?reloaded=yes"></iframe>');
            }
        }
    </script>
</head>
<body onload="checkFirstVisit()">

</body>
</html>

在你的 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(以管理 session ) 希望对您有帮助

关于javascript - HTML PHP : Preventing an iframe from remembering session state on page refresh,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37934301/

相关文章:

javascript - 在对象内部创建方法时出现意外标记 'this'

javascript - 在 Ember 中保存到服务器时更改模型的 JSON 根

php - 在保存到 MySQL 数据库之前调整图像大小

php - 如何在 PHP 的 require_once 中指定文件系统绝对路径?

php - 每周将 XML 文件保存到数据库

html - 导航栏元素在台式机和笔记本电脑上呈现奇怪

javascript - 如何在收到服务器回复消息后才显示DIV?

javascript - Ionic AngularJS 插值时出错

javascript - 单击菜单时设置 cookie,以便下次访问菜单打开

html - 使用媒体查询删除/交换 html 内容?