iframe关闭父页面(iframe嵌套https页面)

iframe是html标签,具有一般标签的属性:widthiframe的高度heightiframe的宽度srciframe里面加载的页面urlname可以通过window.frames[name]获取到frameid和其他的html标签id一样在主页面中通过iframe标签可以引入其他子页面其中可以通过以下方法获取到iframe内部子页面的信息<!–…

大家好,又见面了,我是你们的朋友全栈君。

iframe是html标签,具有一般标签的属性:

width iframe的高度
height iframe的宽度
src iframe里面加载的页面url
name 可以通过window.frames[name]获取到frame
scrolling iframe里面的页面是否可以滚动
frameborder 是否显示iframe边框 1(显示)0(不显示)
id 和其他的html标签id一样
在主页面中通过iframe标签可以引入其他子页面

<!--localhost:8080/index-->
<iframe id='name' name='child' src="http://locahost:8080/child" frameborder="0" width='200px' height='300px' ></iframe>
<script>
   console.log(window.frames['child']);//获取到子页面的window对象
</script>

1、获取iframe内部元素

var frame=ducument.frames[‘name’]
|| document.getElementById();

常用属性contentWindow、contentDocument
frame.contentWindow 获取子页面的window对象
frame.contentDocument 获取子页面的document对象

2、获取父页面

子页面可以访问、修改同一个域名的父页面的方法和属性
window.parent/parent 获取当前页面的父页面-iframe所在的页面
parent.window 获取父页面的window属性
parent.document 获取父页面的document属性
window.top 获取打开该页面的父页面,如果当前页面没有被嵌套到iframe中,window.topwindow
window.self
=window

安全问题-禁止iframe嵌套网页

//当页面被非同域名iframe嵌套时:嵌套页面网址改变成本页面网址
if (window.top != window) {
    if (window.top.location.hostname && top.location.hostname !== window.hostname) {
        window.top.location.href = window.location.href;
    }
}

frame跨域调用

使用postMessage

父页面

<!DOCTYPE html>
<html lang="en">
<body>
    <!-- qsstage.morningstar.com.com/parent.html -->
    <iframe id="ifr" src="http://test.com/child.html"> </iframe>
</body>
<script>
    window.onload = function () {
        var ifr = document.querySelector('#ifr');
        ifr.contentWindow.postMessage({ a: 1 }, '*');
    }
    window.addEventListener('message', function (e) {
        console.log('child say: ' + e.data);
    }, false);
</script>
</html>

子页面

<!DOCTYPE html>
<html lang="en">
<body>
    <script>
        window.addEventListener('message', function (e) {
            console.log('parent say: ' + e.data.a);
            e.source.postMessage('get', '*');
        }, false)
    </script>
</body>
</html>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/127708.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 图形推理专项突破训练1000题及详解_行测图形推理题怎么搜答案

    图形推理专项突破训练1000题及详解_行测图形推理题怎么搜答案图形推理是很常见的推理题型,在做这类型题目的时候,同学们出现了”两极分化”的特征,有的同学很快找到规律,做出了题目,有的同学却一直看着第一题”百思不得其解”。出现这样的情况,其根本原因在于图形推理是技巧性很强的题目,如果知道技巧,可以很快知道出题人考查的重点,从而快速联想到可会考的规律。下面我们一起来看一下图形推理的规(tao)律(lu):第一层:相似性相异(图形差距很大)→数量关系相同(图形差距…

  • python 生成EXE文件 并执行

    python 生成EXE文件 并执行1、电脑桌面,输入“win+R”组合键,在弹出窗口中输入“cmd”,点击确定。2、安装Pyinstaller,在cmd窗口,输入指令“pipinstallpyinstaller”进行网络安装、等待并且确认pyinstaller安装完毕3、安装完毕后,进入要生成exe文件的文件目录。使用指令“pyinstaller-Fxxx.py”生成exe文件。等待生成完毕后,回到源文件目录,在dist目录下,找到生成的exe文件,即可完成Python生成exe文件操作。用python.

  • react拖拽排序组件_uniapp拖拽生成器

    react拖拽排序组件_uniapp拖拽生成器移动端的拖拽排序在react中实现 了解一下

  • 常用的web漏洞扫描工具_系统漏洞扫描工具有哪些

    常用的web漏洞扫描工具_系统漏洞扫描工具有哪些转载自:http://fairysoftware.com/web_lou_dong_sao_miao.html1、AWVS,国外商业收费软件,据了解一个License一年费用是2万多RMB。可见总体漏洞扫描概况,也可导出报告,报告提供漏洞明细说明、漏洞利用方式、修复建议。缺点是限制了并行扫描的网站数。2、OWASPZed(ZAP),来自OWASP项目组织的开源免费工具,提供漏洞扫描、爬虫、Fuzz功能,该工具已集成于KaliLinux系统。3、Nikto,一款开源软件,不仅可用于扫描发现网.

  • pool2_commons pool

    pool2_commons pool一次服务上线没多久,页面处于刷新状态,系统发生假死,查看后台日志,并未发现任何的异常信息,在请求接口处增加debug日志后发现,程序在执行到数据库查询相关的地方卡死了。怀疑是数据库连接的问题,但是使用Navicat连接数据库正常。通过jstack导出线程快照发现,jstack<pid>>>jstack.log大量处于WAITTING状态的线程,而这些线程都是在调用borrowObject方法,这个是apachecommon…

  • 【Redis】集群

    【Redis】集群【Redis】集群

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号