框架页面 frameset+ iframe​

在网页里再塞一个网页的技术,但用法和层级不一样

<frameset> —— 把浏览器窗口”切”成几块

  • <frameset> 是用来分割整个浏览器窗口
  • 把一整个页面切成好几个独立的格子,每个格子加载一个不同的 HTML 文件
  • 每个格子就是一个 <frame>
htmlhtml<frameset cols="15%,85%">
    <frame src="left.html">      <!-- 左边加载 left.html -->
    <frame src="right.html">     <!-- 右边加载 right.html -->
</frameset>

left.html —— 左侧页面

<body bgcolor="green">
</body>Code language: HTML, XML (xml)
  • 整个页面背景色设为绿色
  • 内容为空,纯色块
  • main.html 的框架加载到左侧 15% 区域

main.html —— 主框架页(入口文件)

<frameset cols="15%,85%">
    <frame src="left.html">
    <frame src="right.html">
</frameset>
<noframes>
    <body>޷ܣ</body>
</noframes>Code language: HTML, XML (xml)
  • <frameset> 把页面分成左右两列
    • 左侧 15%​ → 加载 left.html(绿色背景)
    • 右侧 85%​ → 加载 right.html
  • <noframes> 标签:当浏览器不支持框架时显示的内容(里面的乱码应该是编码问题)

<frameset>比较老的 HTML 技术,HTML5 已经废弃了。现在一般用 <iframe> 或 CSS 布局(flex/grid)来实现分栏

right.html —— 右侧页面

<body>
    <iframe src="http://www.google.com" name="abc"></iframe><br/>
    <p><a href="http://www.foxdevelop.com" target="abc"></a></p>
</body>Code language: HTML, XML (xml)
  • 页面里有一个 <iframe>(内嵌框架):
    • src="http://www.google.com" → 默认显示百度首页
    • name="abc" → 给这个 iframe 命名为 “abc”
  • 下面有一个超链接:
    • href="http://www.foxdevelop.com" → 目标网址
    • target="abc" → 点击链接后,页面会在 name=”abc” 的那个 iframe 里打开,而不是整页跳转

总结

知识点说明
<frameset>将页面分割成多个框架,每个框架加载一个独立 HTML 页面
<frame>框架容器,src 指定加载的页面
<iframe>内嵌框架,在当前页面里嵌入另一个页面
target="框架名"超链接的 target 指向某个框架/iframename,链接就在那个框架里打开
<noframes>浏览器不支持框架时显示的替代内容

target 属性回顾:​ 之前笔记里学过 target="_blank" 是新窗口打开,这里 target="abc" 是指定在名为 abc 的框架/iframe 里打开,原理一样

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注