学会iframe并用其解决跨域问题

2023-05-16

了解iframe

官方定义为:iframe是HTML标签,作用是文档中的文档,或者浮动的框架(FRAME)。iframe元素会创建包含另外一个文档的内联框架(即行内框架)。

简单理解为:iframe是一个内联框架,可以在当前HTML页面中嵌入另一个文档。

iframe的属性

这里只介绍常用属性

name:规定 <iframe> 的名称。

width:规定 <iframe> 的宽度。

height:规定 <iframe> 的高度。

src:规定在 <iframe> 中显示的文档的 URL。

frameborder:HTML5 不支持。规定是否显示 <iframe> 周围的边框。属性值为1或者0,1代表有边框,0代表无边框。

scrolling:HTML5 不支持。规定是否在 <iframe> 中显示滚动条。属性值为yes、no、auto。

align:HTML5 不支持。HTML 4.01 已废弃。 规定如何根据周围的元素来对齐 <iframe>。属性值有left、right、middle、top、bottom

简单演示:

 <h1>演示iframe的使用</h1>
   <iframe src="http://www.bilibili.com" name="ifr" frameborder="1" height="400" width="600" scrolling="no">你的浏览器不支持该iframe标签</iframe>

我们设置了一个名为ifr,宽为600,高为400,显示边框,隐藏滑动条,显示文档为b站(也可以选择本地html文档)的内联框架。 我们可以在iframe标签中写上文字说明,因为有一些低版本浏览器不支持这个标签,显示不了文档的时候就会在页面显示我们写的文字。

打开浏览器看下效果:

获取iframe内的内容

<h1>演示iframe的使用</h1>
   <iframe src="./t1.html" id="myiframe">你的浏览器不支持该iframe标签</iframe>

   <script>
    //获取iframe标签
    var myiframe=document.querySelector("#myiframe")
    //获取它的window对象
    var mywindow=myiframe.contentWindow
     //获取它的document对象
    var mydocument=mywindow.document
   </script>

解决跨域问题

1、document.domain+iframe

这个方法只能用于同一个主域下不同子域之间的跨域请求,比如a.com和1.a.com 之间,1.a.com和2.a.com 之间。

只要把两个页面的document.domian都指向主域就可以了,比如document.domain="a.com"。

父页面通过iframe嵌入子页面,通过iframe.contentWindow获取子页面的window,即可操作子页面,子页面通过parent.window和parent来访问父页面的window。

写个例子:

//父页面http://a.com/a.html

<iframe id="myiframe" src="http://1.a.com"></iframe>

<script>
    document.domain="a.com"
    var myiframe=document.queryselector("#myiframe")
    var name1=1
    //获取子页面的属性
    var name22 = myiframe.contentWindow.name2;

    
</script>
//子页面 http://1.a.com/b.html

document.domain="a.com"

var name2=2
//获取父页面的属性
var name11=parent.window.name1

2、window.name+iframe

实现是基于window.name传递数据。name 在浏览器环境中是一个全局window对象的属性
当在 iframe 中加载新页面时,name 的属性值依旧保持不变。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

学会iframe并用其解决跨域问题 的相关文章

  • 野火STM32F4学习笔记1——GPIO输出,固件库点亮LED

    引言 在STC51的学习中 xff0c 程序代码往往是采用寄存器编程来编写的 xff0c 而在STM32的学习中 xff0c 代码往往采用固件库编程来编写 固件库编程是在寄存器编程的基础上升级而来的一种易于学习和开发的编程方式 xff0c
  • mybatis出现自动追加limit分页问题

    在使用mybaties进行自定义SQL分页的时候 xff0c 由于项目使用了PageHelper分页插件 xff0c 在执行最后多出现了一个limit 但是自定义的SQL在数据库连接工具中执行的时候没有任何异常 xff0c 分页功能也是完好
  • 面向对象——类与对象的概念

    类 xff1a 类是一个模板 xff0c 它描述一类对象的行为和状态 1 什么是类 xff1f 类是分类和类别的意思 通过分类 xff0c 可以区别不同的事物种类 xff0c 类是一组具有共同特性 属性 与行为 方法 的事物集合 2 类与对
  • CCF CSP202112-1 序列查询

    include lt bits stdc 43 43 h gt define maxsize 10000005 using namespace std vector lt int gt A maxsize 0 int main int n
  • C语言实现的超详细的冒泡排序(附有详细代码)

    1 xff0e 冒泡排序的基本思想 冒泡排序是交换排序中一种简单的排序方法 它的基本思想是对所有相邻记录的关键字值进行比效 xff0c 如果是逆顺 xff08 a j gt a j 43 1 xff09 xff0c 则将其交换 xff0c
  • 用C语言实现直接插入排序(附有详细代码)

    1 插入排序 直接插入排序 Straight Insertion Sort 基本思想 将一个记录插入到已排序好的有序表中 xff0c 从而得到一个新 xff0c 记录数增1的有序表 即 xff1a 先将序列的第1个记录看成是一个有序的子序列
  • 用c语言/c++实现水仙花数的求解(附有详细代码)

    水仙花数 xff08 Narcissistic number xff09 也被称为超完全数字不变数 xff08 pluperfect digital invariant PPDI xff09 自恋数 自幂数 阿姆斯壮数或阿姆斯特朗数 xff
  • 用java实现学生成绩管理系统(附有详细代码)

    1 需求 添加学生 xff1a 通过键盘录入学生信息 xff0c 添加到集合中删除学生 xff1a 通过键盘录入需要删除学生的学号 xff0c 将该学生对象从集合中删除修改学生 xff1a 通过键盘录入需要修改学的学号 xff0c 将该学生
  • WIN远程访问Centos7桌面,vnc,xrdp

    1 引言 众所周知 xff0c 远程登录linux桌面时 xff0c 操作GUI非常卡顿 xff0c 其流畅度取决于网络 vnc服务可以很好的解决这个问题 xff0c 对于vnc服务除了使用vnc view登录以外 xff0c 本文介绍了在
  • Android超级好看的动态登陆界面(附有详细代码)

    首先先演示一下动态的效果 QQ视频20220819164103 从视频效果中 xff0c 看到这个动态的登陆界面还是比较好看的 xff0c 下面开始介绍如何制作这个动态的登陆界面 一 首先书写静态页面 activity mian xml l
  • 动态规划 — 最长递增子序列(从原理到实现详解)

    关注我 xff0c 解锁更多算法知识 xff01 https blog csdn net m0 58941767 spm 61 1000 2115 3001 5343 目录 前言 一 动态规划解法 二 二分查找法 关注我 xff0c 持续分
  • Android轻松实现图片的圆形化处理(基于xml文件快速实现)

    会持续发布关于Android系列文章以及小技巧 xff0c 好用的第三方库等等 目录 前言 一 引入第三方依赖库 二 使用方法 总结 前言 大家知道 xff0c 在Android应用开发中 xff0c 对于图形的处理是非常重要的 xff0c
  • Android基础一:Android UI基础容器

    从今天开始 xff0c 我来分享一些关于Android的一些基础知识 xff0c 感兴趣一起来学啊 xff01 大学生交流群 xff1a 728910358 目录 前言 二 相对布局RelativeLayout 三 帧布局FrameLayo
  • Android基础二:常见的几种组件

    关注我 xff0c 会持续发布关于Android学习的内容 xff01 大学生交流群 xff1a 728910358 文章目录 前言 一 MaterialButton 二 MaterialButtonToggleGroup 三 TextVi
  • Android基础三:RecyclerView组件的使用

    目录 系列文章目录 前言 二 GridLayoutManager 网格布局 三 StaggeredGridLayoutManager 瀑布流布局 总结 系列文章目录 Android基础一 xff1a Android UI基础容器 https
  • 《Linux创建新用户》

    本文主要讲解linux下如何进行新用户创建 登录以及删除操作 文章目录 1 创建新普通用户2 登录普通用户 xff08 一 xff09 已经创建过普通用户 xff08 二 xff09 第一次创建普通用户 3 普通用户切换至超级用户 xff0
  • 通用文字识别API推荐

    今天给大家分享推荐一款很不错的API 通用文字识别OCR xff0c 多场景 多语种 高精度的整图文字检测和识别服务 xff0c 多项指标行业领先 xff0c 可识别中 英 日 韩 法 德多种语言 APISpace 上面有各种各样的API
  • 一文带你看透手机号码归属地

    什么是手机号码归属地 xff1f 我国的手机号码为11位 xff0c 前3位是区分运营商的移动接入码 xff0c 中国的移动接入码都是以1开头的 xff0c 比如131 139 138等等 xff0c 这个移动接入码是由运营商向工信部申请
  • 一文带你看透IP归属地

    什么是IP xff1f IP是指网络之间互连的协议 xff0c 英文全称是 Internet Protocol xff0c 是TCP IP体系中的网络层协议 设计IP的目的是提高网络的可扩展性 xff1a 一是解决互联网问题 xff0c 实
  • Linux arm64架构修改软件源 (统信UOS,麒麟系统修改阿里源、华为源) 国产系统UOS修改apt源

    步骤 xff1a 备份原来自带的软件源 gt 修改软件源配置文件 gt 处理报错 xff08 公钥问题 xff09 gt 清理缓存 gt 更新缓存 gt 安装软件 1 备份系统之前的源 cp etc apt sources list etc

随机推荐

  • 各类免费API接口推荐,再也不怕找不到免费API了

    我收集了一些各类免费的API xff0c 在这里分享给大家 xff0c 希望可以帮助到大家 一 高德开放平台 与真实世界联通 高德开放平台为开发者赋能 xff0c 将地图精致地呈现在您的应用中无论基于哪种平台 xff0c 都可以通过高德开放
  • APISpace 的 ChatGPT 它来了 一分钟快速接入没烦恼

    如此火爆的 ChatGPT 大家肯定都已经知道了 xff0c 我就不多说了 但是呢 xff0c OpenAI 的 ChatGPT 官网注册麻烦 xff0c 接入繁琐 xff0c 且需要海外信用卡才能支付 xff0c 这就让广大的国内开发者头
  • ChatGPT 到底强大在哪里?(文末有彩蛋)

    ChatGPT 是由 OpenAI 开发的一个人工智能聊天机器人程序 xff0c 于2022年11月推出 该程序使用基于 GPT 3 5 架构的大型语言模型并通过强化学习进行训练 ChatGPT 以文字方式交互 xff0c 而除了可以通过人
  • 免费常用API接口

    短信API 短信验证码 xff1a 可用于登录 注册 找回密码 支付认证等等应用场景 支持三大运营商 xff0c 3秒可达 xff0c 99 99 xff05 到达率 xff0c 支持大容量高并发 通知短信 xff1a 当您需要快速通知用户
  • 安全可靠的短信验证码API,毫秒级反应

    短信验证码是一种功能强大的网络安全技术 xff0c 可以确保网站的真实性和安全性 它的使用非常简单 xff1a 用户只需要通过他 她的手机发送位编码短信给网站 xff0c 然后在网站上输入这个验证码 xff0c 就可以实现一种双重认证的功能
  • 如何利用 IP 归属地查询 API 精准锁定用户位置

    引言 在互联网时代 xff0c IP 地址扮演着非常重要的角色 xff0c 它可以帮助我们追踪网站访问者 优化网络服务等等 而 IP 归属地则更进一步 xff0c 它可以帮助我们精确地定位 IP 地址所在的地理位置 xff0c 为数据分析
  • 涨知识!细数银行卡三要素 API 的 N 种验证方法

    引言 银行卡三要素验证 API 是一种基于姓名 身份证号码和银行卡号等三种信息的验证服务 xff0c 主要用于绑定银行卡时校验银行卡是否为该身份信息所有 手机号是否为银行卡绑定手机号 银行卡三要素 API 的验证方法 银行卡三要素 API
  • 常用的热门 API 分享

    手机号码归属地 xff1a 提供三大运营商的手机号码归属地查询 空号检测 xff1a 通过手机号码查询其在网活跃度 xff0c 返回包括空号 停机等状态 手机在网状态 xff1a 支持传入三大运营商的号码 xff0c 查询手机号在网状态 x
  • 通知短信 API 技术细节以及发送流程机制原理解析

    引言 短信是一种简单 直接 高效的通信方式 xff0c 被广泛应用于各个领域 在移动互联网时代 xff0c 短信成为了客户服务 政府通知 公共服务等方面的重要工具 为了更好地利用短信这种通信方式 xff0c 通知短信 API应运而生 短信A
  • vSphere ESXI主机网络分析工具

    1 net stats 该命令可以收集端口统计信息 可以通过net stats h 命令显示所有标志 最常见的是使用 net stats l 来确定所有 VMkernel 接口 vmnic 上行链路和 vNIC 端口的交换机端口号和 MAC
  • 算法中的一些数学问题

    1 欧几里得算法 xff08 辗转相除法 xff09 该算法用来快速计算两个整数的最大公约数 递归算法 xff1a int gcd int a int b if b 61 61 0 return a return gcd b a b 非递归
  • 安装pillow已完成,但仍报错No module named ‘PIL‘

    python 3 6 2 xff0c 安装pillow已完成 xff0c 但仍报错No module named 39 PIL 39 no module named 39 pillow 39 python3 6 我加班还不行吗 的博客 CS
  • 使用汇编语言与C语言实现LED1/LED2/LED3三盏灯点亮

    汇编语言代码段 text global start start LED1点灯LED1 gt PE10 64 1 对LED1进行初始化 RCC AHB4 ENSETR MODER OTYPER OSPEEDR PUPDR 64 2 实现LED
  • linux移动文件夹

    使用命令mv 要移动的文件夹 目标文件夹 假如我要将root下的文件amelia txt移动到opt下的文件夹software中 xff0c 我可以使用命令mv root amelia txt opt software amelia txt
  • docker安装nextcloud,聪明人已经收藏了!

    1 为什么要使用分布式锁 使用分布式锁的目的 xff0c 无外乎就是保证同一时间只有一个客户端可以对共享资源进行操作 1 1举一个很长的例子 系统 A 是一个电商系统 xff0c 目前是一台机器部署 xff0c 系统中有一个用户下订单的接口
  • CCF CSP 序列查询新解

    CCF CSP 序列查询新解 C语言 题目背景 上一题 序列查询 中说道 xff1a A 61 A0 A1 A2 An 是一个由 n 43 1 个 0 N 范围内整数组成的序列 xff0c 满足 0 61 A0 lt A1 lt A2 lt
  • 打开edge,出现错误代码: STATUS_ACCESS_DENIED,解决方法

    问题描述 xff1a 这个问题 xff0c 一般显示edge页面加载失败 xff0c 且电脑右下角出现弹窗 解决办法 xff1a 此时 xff0c 你可以到C盘 xff0c 把Microsoft下的子文件删掉 xff0c 注意最好用dele
  • JS的表达式

    一 原始表达式 1 表达式是js的代码形式 2 原始表达式包含直接量 关键字和变量名 xff1b lt script gt 直接量 100 xff1b 200 2 xff1b 34 hi 34 关键字 True False 变量名 a 函数
  • JS的DOM操作——style的操作

    对于JS操作文档中的元素 xff0c 改变其的样式特征需要用到一个属性 style 常见操作 xff1a 获取的元素点 xff08 xff09 style xx 需要设置或修改的属性 代码演示 xff1a 例如修改div块的背景颜色 lt
  • 学会iframe并用其解决跨域问题

    了解iframe 官方定义为 xff1a iframe是HTML标签 xff0c 作用是文档中的文档 xff0c 或者浮动的框架 FRAME iframe元素会创建包含另外一个文档的内联框架 xff08 即行内框架 xff09 简单理解为