前端 | iframe框架标签应用(二)| 外部页面导入

文章目录

  • 📚实现效果
  • 📚模块实现解析
    • 🐇html
    • 🐇css
    • 🐇javascript

📚实现效果

  • 点击右上角喇叭,弹出iframe页面框,链接bilibili白噪音视频页面;点击关闭按钮,关闭弹出框。在这里插入图片描述

📚模块实现解析

🐇html

  • 放一个按钮位
    <!DOCTYPE html>
    <html lang="en">
    <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>白噪音喇叭</title><link rel="stylesheet" href="./style.css">
    </head>
    <body><main id="board"><!-- 白噪音 --><button id="openBtn"></button></main>
    </body>
    <script src="./js/music.js"></script>
    </html>
    

🐇css

  • 背景面板:全屏布局 + 背景色#F1EEE7

  • 播放按钮:喇叭形按钮 + 按钮在悬停时会有放大效果。

    * {padding: 0;margin: 0;
    }#board {position: relative;width: 100vw;height: 100vh;background-color: #F1EEE7;
    }/* #region白噪音 */
    #openBtn {position: absolute;top: 4vh;right: 2vw;padding: 10px 20px;width: 50px;height: 50px;background-image: url(./src/唱片机.png);background-size: cover;border: none;cursor: pointer;transform: scale(0.9);
    }#openBtn:hover {transform: scale(1.0);
    }
    /* #endregion白噪音 */
    

🐇javascript

  • 实现功能:
    • 在点击白噪音喇叭按钮时,创建一个播放B站白噪音视频的iframe,并添加一个关闭按钮。
    • 点击关闭按钮会移除这个iframe和关闭按钮本身。
    // 当按钮被点击时执行以下函数
    document.getElementById('openBtn').addEventListener('click', function() {// 检查是否已存在iframe和关闭按钮,如果存在则移除它们const existingIframe = document.querySelector('iframe');const existingCloseButton = document.querySelector('.close-button');if (existingIframe) {document.body.removeChild(existingIframe);}if (existingCloseButton) {document.body.removeChild(existingCloseButton);}// 创建一个新的iframe元素const iframe = document.createElement('iframe');// 设置iframe的src属性为Bilibili视频的地址iframe.src = `https://www.bilibili.com/video/BV1wL411M7m9?p=2`;// 设置iframe的sandbox属性iframe.sandbox='allow-forms allow-scripts allow-same-origin allow-popups';// 设置iframe的样式iframe.style.position = 'fixed';iframe.style.top = '3%';iframe.style.left = '10%';iframe.style.width = '80%';iframe.style.height = '94%';iframe.style.border = '2px solid #bfc1a9';iframe.style.zIndex = '9999';iframe.style.borderRadius = '10px'; // 将iframe添加到页面中document.body.appendChild(iframe);// 创建并设置关闭按钮const closeButton = document.createElement('button');closeButton.textContent = '×';closeButton.classList.add('close-button');closeButton.style.position = 'fixed';closeButton.style.width = '20px';closeButton.style.height = '20px';closeButton.style.top = '3%';closeButton.style.right = '7%';closeButton.style.zIndex = '10000';closeButton.style.border = '1.2px solid #bfc1a9';closeButton.style.borderRadius = '50%'; closeButton.style.fontFamily = 'serif';closeButton.style.fontSize = '15px';closeButton.style.color = 'white';closeButton.style.fontWeight = 'bold';closeButton.style.padding = '2px';closeButton.style.backgroundColor = '#d24735';// 为关闭按钮添加点击事件,点击时移除iframe和关闭按钮closeButton.addEventListener('click', () => {document.body.removeChild(iframe);document.body.removeChild(closeButton);});// 将关闭按钮添加到页面中document.body.appendChild(closeButton);
    });
    
  • iframe元素的sandbox属性用于设置一个或多个安全特性,以限制嵌入的内容在其自己的上下文中的操作。
  • sandbox属性设置为’allow-forms allow-scripts allow-same-origin allow-popups’,这意味着嵌入的内容将允许填写表单、执行脚本、与相同源进行交互,并允许弹出窗口。

  • 其他iframe框架标签应用案例
    • iframe框架标签应用 | html页面导入

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/832749.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常用浏览器快捷键

常用浏览器快捷键&#xff0c;大部分浏览器应该都支持&#xff0c;主要常用 Safari、chrome、edge 功能Mac快捷键非Mac快捷键新建标签页Cmd TCtrl T关闭当前标签Cmd WCtrl W重新打开关闭的标签Cmd Shift TCtrl Shift T切换到下一个标签Ctrl TabCtrl Tab切换到上一个…

go中泛型约束 comparable不能使用 大于> 小于<比较符号 invalid operation UndefinedOp 异常的解决方法

在go语言中我们在使用 类型约束接口 comparable对约束的数据进行 大于>或者小于 <比较时会提示编译异常: invalid operation: args[0] > args[1] (type parameter E is not comparable with >)compiler UndefinedOp 原因&#xff1a; comparable 是一个所有可比较…

sqlmodel实现唯一性校验3,检查多列同时重复

之前的方案虽然能够解决重复性问题&#xff0c;但是没有覆盖到多列同时重复的情况。 比如&#xff0c;我们可以认为用户名是可以重复的。但是用户名和年龄不能同时重复&#xff0c;那么这种情况该怎么解决呢&#xff1f; 之前的代码如下&#xff1a; from sqlalchemy import…

数据集标签数量不均衡如何设计loss均衡数量

数据集标签数量不均衡如何设计loss均衡数量 1. 思路出发点&#xff1a; 对于哪些数量分布比值较少的标签提供更多的loss注意力比重&#xff0c;如何提高训练注意力比重&#xff0c;也就是说&#xff0c;让模型的梯度更多的倾向于有利于数据标签分布较少的数据训练&#xff0c…

【快捷部署】023_HBase(2.3.6)

&#x1f4e3;【快捷部署系列】023期信息 编号选型版本操作系统部署形式部署模式复检时间023HBase2.3.6Ubuntu 20.04tar包单机2024-05-07 注意&#xff1a;本脚本非全自动化脚本&#xff0c;有2次人工干预&#xff0c;第一次是确认内网IP&#xff0c;如正确直接回车即可&#…

Linux和Windows修改动态库的名字

一、概述 有时候我们创建windows的Dll或者Linux下的So库时候&#xff0c;在已经生成的产物里面我们又不想重新修改工程来修改我们动态库的名字&#xff0c;这个应该怎么做呢&#xff0c;windows跟linux两个平台使用的工具不一样。比如我们有一个TestA.Dll和TestA.lib或者 TestA…

git: 远程分支同步到本地

git pull origin <远程分支名> git pull可以将远程某一个分支下拉到本地并和本地的分支进行合并。如果不加origin <远程分支名>&#xff0c;那么这个同步就是将当前本地分支对应的远程分支给下拉合并进当前本地分支 git fetch --all 下载所有远程分支代码到本地…

了解TMS运输管理系统,实现物流高效运转

TMS运输管理系统&#xff08;Transportation Management System&#xff09;是一种集成物流和信息技术的解决方案&#xff0c;通过优化运输流程、实时跟踪货物信息和自动化管理操作&#xff0c;提高物流效率&#xff0c;降低运营成本&#xff0c;实现高效运输。 TMS运输管理系…

吴恩达2022机器学习专项课程C2(高级学习算法)W1(神经网络):2.4 神经网络层

目录 神经网络第一层&#xff08;隐藏层&#xff09;计算过程1.输入向量2.神经元的计算2.标识不同神经元3.层输出&#xff08;激活&#xff09;向量4.神经网络分层5.标识不同层 神经网络第二层&#xff08;输出层&#xff09;计算过程1.输入向量2.层输出&#xff08;激活&#…

Vue CLI配置代理、2.0、3.0

一、vue cli2.0 代理配置 proxy: {/api:{target: "http://localhost:8067",pathRewrite: {/api: }}, } 一、vue cli3.0 代理配置 proxy: {/api: {target: http://localhost:8067,pathRewrite: {/api: }} }

为什么有了MTU,还需要MSS?

为什么有了MTU&#xff0c;还需要MSS? MTU Maximum Transmit Unit&#xff0c;最大传输单元。由数据链路层提供给网络最大的一次传输数据的大小&#xff0c;一般MTU1500Byte. “车同轨”&#xff0c;保证底层数据包能在物理网络中顺利传输&#xff01;&#xff01;&#xff…

Redis 之 布隆过滤器 与 布谷鸟过滤器

大家都知道,在计算机中IO一直是一个瓶颈,很多框架以及技术甚至硬件都是为了降低IO操作而生,今天聊一聊过滤器,先说一个场景: 我们业务后端涉及数据库,当请求消息查询某些信息时,可能先检查缓存中是否有相关信息,有的话返回,如果没有的话可能就要去数据库里面查询,这时候有一个…

虚拟环境 conda activate

使用命令conda activate pytorch激活pytorch时出现以下报错&#xff1a; usage: conda-script.py [-h] [–no-plugins] [-V] COMMAND … conda-script.py: error: argument COMMAND: invalid choice: ‘activate’ (choose from ‘clean’, ‘compare’, ‘config’, ‘create’…

C语言struct person{...};person a;为什么编泽出错?

一、问题 在结构体中定义⼀个变量&#xff0c;可以有很多种⽅法&#xff0c;为什么这样定义编译出错呢&#xff1f; 例如&#xff1a; struct persont{...};person a; 二、解答 在解答编译出错的原因之前&#xff0c;先要了解⼏种正确的定义结构体类型变量的⽅法。 &#xf…

在echarts中使用geojson地图

以中国地图为例 先看效果 代码实现&#xff1a; <div id"refChinaMap" :style"{ width: 75%, height: 100% }"></div>import * as echarts from "echarts"; import ChinaJSON from "./chinaMap.json";const initChinaMa…

功率控制单元PCU系统简介

什么是PCU系统 近年来&#xff0c;新能源汽车市场竞争愈发激烈。电驱动系统关乎整车的制造成本&#xff0c;影响整车性能。因此&#xff0c;新能源汽车电驱动系统成为业内研究热点。电驱动系统作为新能源汽车的核心部件&#xff0c;控制电机输出驱动转矩或制动转矩&#xff0c…

c语言数据结构之一(单链表)

前言 链表是最基础的数据结构&#xff0c;可以用于实现栈、队列等等。 实现原理 节点&#xff08;Node&#xff09;&#xff1a;链表的基本构建单元是节点&#xff0c;每个节点包含两部分&#xff1a;数据和指向下一个节点的指针。在C语言中&#xff0c;节点通常用结构体来表…

什么是分布式事务?

典型回答 分布式事务是指在分布式系统中涉及到多个数据库或多个应用程序之间的事务处理&#xff0c;这些数据库或应用程序可能分布在不同的物理节点上&#xff0c;甚至可能位于不同的地理位置。在分布式事务中&#xff0c;需要确保所有参与者的事务操作都能够保持一致性&#…

三步学会苹果手机怎么关震动的方法!

苹果手机的震动功能在某些情况下可能会被认为是不必要的&#xff0c;比如在会议、课堂或者晚间睡眠时。因此&#xff0c;学会如何关闭苹果手机的震动功能是非常实用的。苹果手机怎么关震动&#xff1f;在本文中&#xff0c;我们将介绍三个步骤&#xff0c;帮助你关闭苹果手机的…

XSS-Labs 靶场通过解析(下)

前言 XSS-Labs靶场是一个专门用于学习和练习跨站脚本攻击&#xff08;XSS&#xff09;技术的在线平台。它提供了一系列的实验场景和演示&#xff0c;帮助安全研究人员、开发人员和安全爱好者深入了解XSS攻击的原理和防御方法。 XSS-Labs靶场的主要特点和功能包括&#xff1a;…