当前位置: 首页 > article >正文

HTML5 框架

HTML5 框架学习笔记在 HTML5 中“框架”通常指两个层面的概念iframe标签用于在当前页面中嵌入另一个 HTML 页面内联框架。前端框架/库基于 HTML5 标准构建的现代化开发框架如 Bootstrap, Vue, React 等利用 HTML5 的新特性语义化标签、本地存储、Canvas 等。本笔记将重点讲解iframe标签的用法并简要介绍HTML5 生态下的主流前端框架。一、iframe标签内联框架iframe(Inline Frame) 允许在一个 HTML 文档中嵌入另一个 HTML 文档。它常用于嵌入地图、视频、广告、第三方登录或跨域内容展示。1. 基本语法iframesrcURLtitle描述width600height400/iframe2. 核心属性属性说明示例/值src必填。嵌入页面的 URL 地址。srchttps://www.example.comtitle推荐。描述 iframe 内容的文本用于无障碍阅读屏幕阅读器。titleGoogle 地图width/height设置 iframe 的宽度和高度像素或百分比。width100% height500frameborder(已废弃用 CSS 代替) 是否显示边框。0(无) 或1(有)scrolling(已废弃用 CSS 代替) 是否显示滚动条。auto,yes,nosandbox安全属性。对嵌入内容施加额外的限制如禁止脚本、禁止表单提交等。sandboxallow-scripts allow-same-originloading控制加载策略。lazy(懒加载推荐),eager(立即加载)referrerpolicy控制发送 Referer 头的策略。no-referrer,origin等3. 常用场景与代码示例A. 嵌入第三方地图 (Google Maps / 百度地图)iframesrchttps://www.google.com/maps/embed?pb...width100%height450styleborder:0;allowfullscreenloadinglazyreferrerpolicyno-referrer-when-downgrade/iframeB. 嵌入视频 (YouTube / Bilibili)iframewidth560height315srchttps://www.youtube.com/embed/VIDEO_IDtitleYouTube video playerframeborder0allowaccelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-pictureallowfullscreen/iframeC. 安全沙箱 (sandbox)当嵌入不可信的第三方内容时使用sandbox属性限制其权限防止 XSS 攻击或恶意脚本。!-- 仅允许显示内容禁止脚本、表单、弹窗等 --iframesrchttps://untrusted-site.comsandbox/iframe!-- 允许脚本和同源访问但禁止表单提交和弹窗 --iframesrchttps://trusted-site.comsandboxallow-scripts allow-same-origin/iframeD. 懒加载 (loadinglazy)提升页面性能只有当用户滚动到 iframe 位置时才加载内容。iframesrccontent.htmlloadinglazytitle延迟加载的内容/iframe4. 跨域通信 (postMessage)由于同源策略限制父页面和 iframe 页面通常无法直接访问对方的 DOM。HTML5 提供了postMessageAPI 实现安全通信。父页面发送消息constiframedocument.querySelector(iframe);iframe.contentWindow.postMessage(你好iframe!,https://target-domain.com);iframe 页面接收消息window.addEventListener(message,function(event){// 安全检查验证发送源if(event.origin!https://parent-domain.com)return;console.log(收到消息:,event.data);// 回复消息event.source.postMessage(收到消息了,event.origin);});5. 注意事项与最佳实践安全性始终使用sandbox属性限制不可信内容。性能避免页面中嵌入过多 iframe每个 iframe 都会消耗独立的浏览器进程资源。使用loadinglazy。SEO搜索引擎对 iframe 内容的抓取能力有限重要内容尽量直接放在主页面。响应式使用 CSS 设置width: 100%和aspect-ratio或 padding hack 来实现响应式 iframe。.responsive-iframe{position:relative;padding-bottom:56.25%;/* 16:9 比例 */height:0;overflow:hidden;}.responsive-iframe iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;}二、HTML5 生态下的主流前端框架HTML5 本身是标准而“框架”是基于这些标准构建的工具集。现代前端框架充分利用了 HTML5 的语义化标签、Canvas、SVG、Local Storage、Web Workers 等特性。1. UI 组件库 (CSS/JS 框架)这些框架提供预定义的 HTML5 组件样式和交互逻辑加速开发。框架特点适用场景Bootstrap 5响应式栅格系统组件丰富无需 jQuery。快速构建后台管理、企业官网。Tailwind CSS原子化 CSS 框架高度定制无需写自定义 CSS。需要高度定制设计的现代项目。Element Plus基于 Vue 3 的组件库中文文档完善。Vue 生态的中后台项目。Ant Design企业级 UI 设计语言React/Vue/Angular 均有支持。复杂的企业级应用。2. 应用框架 (JavaScript 框架)这些框架利用 HTML5 的 DOM 操作、事件模型和 ES6 语法构建单页应用 (SPA)。框架核心特性HTML5 关联Vue.js渐进式框架响应式数据绑定组件化。利用data-*属性、template标签。React虚拟 DOM组件化JSX 语法。深度利用 HTML5 语义化标签和事件系统。Angular全功能框架依赖注入TypeScript。支持 HTML5 表单验证、路由等。Svelte编译时框架无虚拟 DOM代码量极少。直接操作 HTML5 API性能极高。3. 框架与 HTML5 的结合点语义化现代框架组件如vue-router-view或react-router通常渲染为main,section,article等语义标签。本地存储框架常封装localStorage/sessionStorage用于状态持久化。Canvas/SVG数据可视化库 (ECharts, D3.js) 基于 HTML5 Canvas/SVG 构建。离线应用结合 Service Workers (PWA) 实现离线访问。三、实战创建一个响应式 iframe 布局!DOCTYPEhtmlhtmllangzh-CNheadmetacharsetUTF-8metanameviewportcontentwidthdevice-width, initial-scale1.0titleHTML5 框架示例/titlestylebody{margin:0;font-family:sans-serif;}/* 响应式容器 */.iframe-container{position:relative;width:100%;padding-bottom:56.25%;/* 16:9 比例 */height:0;overflow:hidden;background:#f0f0f0;border:1px solid #ddd;}.iframe-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;}.controls{padding:1rem;background:#333;color:white;}/style/headbodydivclasscontrolsh3HTML5 iframe 演示/h3p下方是一个响应式嵌入的维基百科页面沙箱模式。/p/divdivclassiframe-containeriframesrchttps://zh.wikipedia.org/wiki/HTML5titleHTML5 维基百科loadinglazysandboxallow-same-origin allow-scripts allow-popups allow-forms/iframe/divscript// 简单的跨域通信示例如果 iframe 同源// 注意维基百科是跨域的这里仅演示代码结构/* const iframe document.querySelector(iframe); iframe.onload () { // 仅在同源时有效 // iframe.contentWindow.postMessage(Hello, *); }; *//script/body/html四、总结iframe是 HTML5 中嵌入外部内容的核心标签但需注意安全sandbox和性能loadinglazy。跨域通信必须使用postMessageAPI严禁直接访问跨域 iframe 的 DOM。现代前端框架Vue, React, Bootstrap 等是构建复杂 HTML5 应用的最佳工具它们封装了底层 API提高了开发效率。响应式设计是 HTML5 框架应用的标配使用 CSS 技巧如padding-bottomhack让 iframe 自适应屏幕。

相关文章:

HTML5 框架

HTML5 框架学习笔记 在 HTML5 中&#xff0c;“框架”通常指两个层面的概念&#xff1a; <iframe> 标签&#xff1a;用于在当前页面中嵌入另一个 HTML 页面&#xff08;内联框架&#xff09;。前端框架/库&#xff1a;基于 HTML5 标准构建的现代化开发框架&#xff08;如…...

OpenClaw hook-钩子机制详解

前言 OpenClaw 的钩子&#xff08;Hook&#xff09;系统是其核心扩展能力的载体&#xff0c;通过事件驱动的方式实现对代理&#xff08;Agent&#xff09;和网关&#xff08;Gateway&#xff09;全生命周期的灵活管控与深度集成。整个钩子系统清晰分为两大类——内部钩…...

Visual Studio C#实战:5分钟搞定欧姆龙PLC(NJ/NX系列)数据读写(附Compolet库避坑指南)

Visual Studio C#实战&#xff1a;5分钟实现欧姆龙PLC&#xff08;NJ/NX系列&#xff09;高效数据交互 在工业自动化领域&#xff0c;欧姆龙PLC以其稳定性和高性能著称&#xff0c;而NJ/NX系列更是其中的佼佼者。对于C#开发者而言&#xff0c;如何快速建立与这些PLC的数据通道&…...

粒子群算法PID参数的半主动悬架控制软件版本:matlab 粒子群算法PID参数的半主动悬架控制 软件版本:matlab2018a

粒子群算法PID参数的半主动悬架控制软件版本&#xff1a;matlab 粒子群算法PID参数的半主动悬架控制 软件版本&#xff1a;matlab2018a 资料包括&#xff1a; 1/4半主动悬架Simulink模型&#xff08;状态空间方程表示&#xff09; 作为对比的被动悬架Simulin模型 粒子群算法主程…...

Untitled

import pandas as pddf pd.read_excel("./车辆行驶里程表-2.xlsx")df车辆ID启动时间停止时间启动时剩余电量停止时剩余电量启动时电池温度峰值速度平均速度01.02020-02-20 11:31:272020-02-20 11:59:4553451185.21931.8011.02020-02-20 07:52:512020-02-20 08:19:25…...

如何快速定制你的QQ体验:终极插件框架指南

如何快速定制你的QQ体验&#xff1a;终极插件框架指南 【免费下载链接】LiteLoaderQQNT_Install 针对 LiteLoaderQQNT 的安装脚本 项目地址: https://gitcode.com/gh_mirrors/li/LiteLoaderQQNT_Install 还在为QQNT桌面端的功能限制而感到困扰吗&#xff1f;想要为你的Q…...

如何为惠普暗影精灵笔记本解锁完整性能控制权:OmenSuperHub深度解析

如何为惠普暗影精灵笔记本解锁完整性能控制权&#xff1a;OmenSuperHub深度解析 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度&#xff0c;自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否厌倦了官方控制软件…...

3步重塑你的Windows体验:ExplorerPatcher界面定制终极指南

3步重塑你的Windows体验&#xff1a;ExplorerPatcher界面定制终极指南 【免费下载链接】ExplorerPatcher This project aims to enhance the working environment on Windows 项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher 你是否曾经在升级到Wind…...

别再只用柱状图了!用Origin玩转‘柱状+点线’组合图,轻松应对论文审稿人的图表挑剔

科研图表升级指南&#xff1a;用Origin打造兼具数据对比与趋势分析的组合图表 在学术论文写作中&#xff0c;图表是研究成果最直观的呈现方式。许多研究者习惯使用单一的柱状图展示数据&#xff0c;但当审稿人要求同时体现数值比较和时间趋势时&#xff0c;这种简单图表就显得力…...

组合专机-丝杠车床改光杠键槽铣专机进给系统设计

在机械加工领域&#xff0c;传统丝杠车床的功能相对单一&#xff0c;面对光杠键槽铣削这类特殊加工需求时&#xff0c;往往力不从心。组合专机——丝杠车床改光杠键槽铣专机进给系统的设计&#xff0c;正是为了突破这一局限。它通过巧妙的改造&#xff0c;将原本仅用于丝杠加工…...

别再手动整理会议纪要了!用Dify+FunAudioLLM+DeepSeek,一键生成带格式的Word文档

职场效率革命&#xff1a;三分钟将会议录音转为专业纪要的智能方案 每次会议结束后&#xff0c;行政助理小林总要花两小时反复听录音、整理重点&#xff0c;直到凌晨才能发出会议纪要。这种场景在无数企业重复上演——据调研机构数据&#xff0c;职场人平均每周耗费4.7小时在会…...

如何永久保存微信聊天记录?WeChatMsg免费开源工具终极指南

如何永久保存微信聊天记录&#xff1f;WeChatMsg免费开源工具终极指南 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/W…...

CloudDrive实战:轻松将115网盘挂载为本地磁盘,享受无缝存储体验

1. 为什么需要将网盘挂载为本地磁盘&#xff1f; 每次打开网盘客户端才能上传下载文件&#xff0c;是不是觉得特别麻烦&#xff1f;想象一下&#xff0c;如果你的网盘能像电脑里的D盘、E盘一样直接出现在"此电脑"里&#xff0c;所有操作都跟本地文件一模一样&#xf…...

fre:ac音频转换器完整指南:如何在5分钟内完成无损格式转换

fre:ac音频转换器完整指南&#xff1a;如何在5分钟内完成无损格式转换 【免费下载链接】freac The fre:ac audio converter project 项目地址: https://gitcode.com/gh_mirrors/fr/freac 还在为不同设备间的音频格式不兼容而烦恼吗&#xff1f;fre:ac音频转换器为你提供…...

告别代码恐惧:用自然语言让AI成为你的全平台操作助手

告别代码恐惧&#xff1a;用自然语言让AI成为你的全平台操作助手 【免费下载链接】midscene AI-powered, vision-driven UI automation for every platform. 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene 还在为复杂的自动化脚本而头疼吗&#xff1f;想…...

使用 HTML + JavaScript 实现组织架构图

文章目录一、组织架构图二、效果演示三、系统分析1.页面结构1.1 操作区域1.2 组织结构图区域2 核心功能实现2.1 数据结构定义2.2 节点渲染逻辑2.3节点展开/收起功能2.4 全部展开/收起四、扩展建议五、完整代码一、组织架构图 在企业管理系统或团队协作平台中&#xff0c;组织结…...

告别裸机轮询:用STM32串口中断+DMA实现高效数据收发(附F103/F4代码对比)

STM32串口通信进阶&#xff1a;中断与DMA的高效实战指南 在嵌入式开发中&#xff0c;串口通信如同系统的神经末梢&#xff0c;承担着设备间数据交换的重任。当项目从简单的调试打印升级到高速数据流处理时&#xff0c;传统的轮询方式往往显得力不从心。本文将带您深入STM32的US…...

鸿蒙_使用组件导航Navigation搭建应用框架

组件导航封装了页面、标题、菜单栏、工具栏等功能&#xff0c;我们只需要进行简单的设置&#xff0c;就能快速搭建应用的框架&#xff0c;我们直接新建一个独立页面来通过组件导航实现主页、设置页、我的页三个示例页面&#xff0c;并且相互之间可以跳转&#xff0c;并且天然支…...

如何在Linux系统上免费体验专业图像编辑:Photoshop CC 2022完整安装指南

如何在Linux系统上免费体验专业图像编辑&#xff1a;Photoshop CC 2022完整安装指南 【免费下载链接】Photoshop-CC2022-Linux Installer from Photoshop CC 2021 to 2022 on linux with a GUI 项目地址: https://gitcode.com/gh_mirrors/ph/Photoshop-CC2022-Linux 对于…...

500+ RPG Maker插件终极指南:如何快速提升游戏开发效率

500 RPG Maker插件终极指南&#xff1a;如何快速提升游戏开发效率 【免费下载链接】RPGMakerMV RPGツクールMV、MZで動作するプラグインです。 项目地址: https://gitcode.com/gh_mirrors/rp/RPGMakerMV RPG Maker开发者们&#xff0c;你们是否曾为游戏开发中的各种限制…...

腾讯云轻量2核2G Ubuntu 服务器配置 + Xshell 连接服务器

购买成功会跳转到这个页面一、第一步&#xff1a;放行防火墙端口&#xff08;必做&#xff01;否则连不上、访问不了&#xff09; 我们现在在服务器列表页&#xff0c;必须先开放端口&#xff0c;否则 Xshell 连不上、项目也访问不了。 1. 进入防火墙设置 点击截图箭头指向的 「…...

Ubuntu系统下SocketCAN实战:免驱配置PCAN/PCAN FD设备全流程

1. 认识SocketCAN与PCAN设备 在嵌入式开发和汽车电子领域&#xff0c;CAN总线就像设备之间的"神经传导系统"&#xff0c;而SocketCAN则是Linux内核为这个系统提供的"标准语言接口"。我第一次接触PCAN设备时&#xff0c;发现它有个巨大优势——大多数型号在…...

Buck电路损耗深度解析:从米勒效应到效率优化实战

1. Buck电路损耗的三大来源 Buck电路作为最常见的DC-DC降压拓扑&#xff0c;其效率问题一直是工程师关注的焦点。在实际应用中&#xff0c;Buck电路的损耗主要来自三个方面&#xff1a;电感损耗、开关损耗和续流二极管损耗。其中开关损耗往往是最难啃的"硬骨头"&…...

C语言实战:基于LU分解的高效矩阵求逆与行列式计算

1. 为什么需要LU分解&#xff1f; 第一次接触矩阵运算时&#xff0c;我总在想&#xff1a;为什么要把简单的矩阵乘法搞得这么复杂&#xff1f;直到在图像处理项目中遇到一个50005000的矩阵求逆问题&#xff0c;直接调用库函数跑了半小时还没结果&#xff0c;才意识到算法效率的…...

伯明翰大学:智能人机协作工作环境未来——迈向人人有意义的工作 2026

这份 2026 年伯明翰大学发布的智能人机协作工作环境白皮书&#xff0c;核心是围绕制造业人机协作&#xff0c;提出以人为本、技术赋能、有意义工作的未来方向&#xff0c;全文可概括为四大核心内容与最终主张&#xff1a;一、核心结论未来制造业人机协作不是机器取代人&#xf…...

Neural Renderer实战:从3D模型到物理对抗样本的渲染流程解析

1. Neural Renderer与物理对抗攻击初探 第一次听说Neural Renderer能用于生成物理对抗样本时&#xff0c;我的反应和大多数开发者一样——既兴奋又困惑。兴奋的是这个技术能让3D模型在真实世界中"隐身"&#xff0c;困惑的是具体实现路径。经过三个月的项目实践&#…...

具身智能科技行业前瞻探索——多任务操作、第一人称世界模型、低光照与模糊感知 国泰证券 2026-4

这份国泰海通证券 2026 年 4 月发布的具身智能科技前瞻探索&#xff08;第 3 期&#xff09;&#xff0c;核心是梳理 6 项前沿技术成果&#xff0c;聚焦人形机器人与具身智能的多任务、感知、仿真、控制、多模态五大突破&#xff0c;明确学术价值与产业落地方向。一、核心背景人…...

HarmonyOS 6学习:Swiper组件圆点指示器颜色叠加问题解析与解决方案

一、前言&#xff1a;一个看似简单却困扰开发者的视觉问题在HarmonyOS应用开发中&#xff0c;Swiper组件作为实现轮播图、图片浏览、引导页等功能的利器&#xff0c;被广泛应用于各类应用场景。其内置的圆点指示器&#xff08;indicator&#xff09;功能&#xff0c;为用户提供…...

别再忍受龟速下载了!保姆级教程:为Conda配置清华/阿里云镜像源(Windows/Mac/Linux全平台)

告别Conda下载卡顿&#xff1a;国内镜像源配置全攻略 每次看到Conda下载进度条像蜗牛一样爬行&#xff0c;是不是想砸键盘的心都有了&#xff1f;国内开发者使用默认源下载Python包时&#xff0c;经常遭遇三位数的下载速度&#xff0c;一个简单的numpy安装可能就要消耗半小时咖…...

【深度评测】腾讯云SA3星星海实例:AMD EPYC Milan处理器性能全面解析

1. 腾讯云SA3星星海实例初体验 第一次接触腾讯云SA3星星海实例时&#xff0c;我正为一个机器学习项目寻找合适的云服务器。当时测试了市面上多款机型&#xff0c;直到遇到这款搭载AMD EPYC Milan处理器的SA3实例&#xff0c;性能表现着实让我惊喜。简单来说&#xff0c;SA3就像…...