使用iframe实现上下窗口结构及登录页全窗口展示Demo

iframe.html 首页

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
 
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>首页</title>
    <meta http-equiv="Cache-Control" content="no-store"/>
    <meta http-equiv="Pragma" content="no-cache"/>
    <meta http-equiv="Expires" content="0"/>
    <style>
        html,body{
            width: 100%;
            height: 100%;
            padding:0;
            margin:0;
        }
        #contentTop{
            width: 100%;
            height: 70px;
            padding:0;
            margin:0;
        }

        #contentMain{
            width: 100%;
            height: calc(100% - 81px);
            padding:0;
            margin:0;
        }
    </style>
<body>
    <iframe id="contentTop" frameborder="0" th:src="@{/top}" >
        你不支持iframe
    </iframe>
    <iframe id="contentMain" name="contentMain"  frameborder="0" th:src="@{/index}" >
        你不支持iframe
    </iframe>
</body>

</html>

top.html 上面导航页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>我是上面菜单导航</title>
</head>
<body>
    <div>
        我是上面菜单导航
    </div>
     <!--target:表示在<iframe name="contentMain"></iframe> 中打开-->
    <a th:href="@{/main?s=0}" target="contentMain">需要登录</a>
    <a th:href="@{/main}" target="contentMain">不需要登录</a>
</body>
</html>

index.html  下面的主要内容页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>我是内容</title>
</head>
<style>
    /*不显示滚动条*/
    body::-webkit-scrollbar {
        display: none;
    }
</style>
<body>
    <div >
        我是主窗口
    </div>
    <div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div>
    <div >
        我是主窗口
    </div>
    <div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div><div >
        我是主窗口
    </div>
</body>
</html>

main.html  跳转的页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>我是跳转页面</title>
</head>
<body>
    <div>
        我是跳转页面
    </div>
    <div>
        我是跳转页面
    </div> <div>
        我是跳转页面
    </div> <div>
        我是跳转页面
    </div> <div>
        我是跳转页面
    </div> <div>
        我是跳转页面
    </div> <div>
        我是跳转页面
    </div> <div>
        我是跳转页面
    </div> <div>
        我是跳转页面
    </div> <div>
        我是跳转页面
    </div> <div>
        我是跳转页面
    </div> <div>
        我是跳转页面
    </div> <div>
        我是跳转页面
    </div> <div>
        我是跳转页面
    </div> <div>
        我是跳转页面
    </div> <div>
        我是跳转页面
    </div> <div>
        我是跳转页面
    </div> <div>
        我是跳转页面
    </div> <div>
        我是跳转页面
    </div> <div>
        我是跳转页面
    </div>
</body>

</html>

login.html 登录页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登录页</title>
</head>
<body>
    <div>
        我是登录,要全窗口显示
    </div>
</body>

<script type="text/javascript">
    /**
     * 登录页面 全窗口展示
     */
    window.onload = function () {
        if (top.location.href != location.href) {
            top.location.href = location.href;
        }
    }
</script>
</html>

页面的href使用了Thymeleaf框架 只是做链接的跳转而已

后端代码(后端用java 只是做简单的页面跳转而已)

package com.example.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * @author 
 * @date 2021/10/08
 */
@Controller
public class IFrameController {


    @RequestMapping(value = "/frame")
    public String frame(String s) {
        return "iframe";
    }

    @RequestMapping(value = "/top")
    public String top(String s) {
        return "top";
    }


    @RequestMapping(value = "/index")
    public String indexHtml(String s) {
        return "index";
    }


    @RequestMapping(value = "/main")
    public String main(String s) {
        if ("0".equalsIgnoreCase(s)){
            return "login";
        }
        return "main";
    }
}
-----------------------有任何问题可以在评论区评论,也可以私信我,我看到的话会进行回复,欢迎大家指教------------------------ (蓝奏云官网有些地址失效了,需要把请求地址lanzous改成lanzoux才可以)
原文地址:https://www.cnblogs.com/pxblog/p/15378802.html