iframe跨域访问

iframe下系统访问跨域问题解决办法 阅读详情

 一般分两种情况:


    一、 是同主域下面,不同子域之间的跨域;


      同主域,不同子域跨域,设置相同的document.domian就可以解决;


    父页访问子页,可以document.getElementById("myframe").contentWindow.document来访问iframe页面的内容;如果支持contentDocument也可以直接document.getElementById("myframe").contentDocument访问子页面内容;


      子页访问父页,可以parent.js全局属性


    二、 是不同主域跨域;


      前提,www.a.com下a.html,a.html内iframe调用了www.b.com下的b.html,b.html下iframe调用了www.a.com下的c.html


      b.html是不无法直接访问a.html的对象,因为涉及到跨域,但可以访问parent,同样c.html的parent可以访问b.html。c.html和a.html同域,是可以访问a下的对象的。parent.parent.js对象!


      看下面实例:


a.html





<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>


<body>
<iframe src="http://www.b.com/b.html" ></iframe>
<ul id="getText"></ul>
<script>
    function dosome(text){
        document.getElementById("getText").innerHTML= decodeURI(text);    
    }
</script>
</body>
</html>






b.html




<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>


<body>
<iframe id="myfarme" src="###"></iframe>
<ul id="ct">
<li>这里是内容1</li>
<li>这里是内容2</li>
<li>这里是内容3</li>
<li>这里是内容4</li>
<li>这里是内容5</li>
<li>这里是内容6</li>
</ul>
<script>
    window.onload = function(){
        var text = document.getElementById('ct').innerHTML;
        document.getElementById('myfarme').src="http://www.a.com/c.html?content="+encodeURI(text);
    }
</script>
</body>
</html>



c.html




<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script>
window.onload = function(){
    var text = window.location.href.split('=')[1]
    console.log(parent.parent)
    parent.parent.dosome(text);
}
</script>
</head>


<body>
ddddddddddd
</body>
</html>
iframe嵌入页面跨域通信 在项目中可能会通过iframe直接将另一个页面嵌入进来,某些场景下还可能会进行一些消息的传递通信。之前做过一次,就是我们开发的主系统,然后下面还有很多子系统,子系统都是通过iframe嵌入进来的,然后为了实现某些需求,需要将token传递给子系统,拱子系统使用,但是当时一直忙着开发,忘记记录了,所以这篇算是补上吧嵌入进来的页面的window跟我们现在的window已经不是同一个了,更不是同一个document。 阅读详情

相关推荐

JS跨域访问IFrame问题的解决方法

同源策略是浏览器的一个核心安全机制,它防止不同源的文档或脚本之间的相互干扰。所谓“源”通常由协议、域名和端口号共同决定。当两个URL的协议、域名和端口号都相同时,它们才被看作是同源的。跨源资源共享(Cross-Origin Resource Sharing,简称CORS)是一种网络浏览器的安全策略,允许服务器在响应跨域HTTP请求时指定哪些域可以从其接收请求。CORS通过在HTTP头中添加新的字段来实现跨域请求,允许服务器声明哪些来源可以访问资源,从而允许或拒绝来自不同源的请求。

weixin_29867767的博客 1658

一次由iFrame嵌入网页引起的跨域问题解决

B系统正常的登录逻辑是验证账户和密码后,给前端返回Set-Cookie,设置登录态信息,后续无需重复登录。需要注意的是,设置 SameSite=None 的前提是,该页面使用https协议,且 设置 Secure 属性为 True, 如上图红框所示。原来通过iFrame访问B系统页面的时候,浏览器识别到为跨域请求,所以Set-Cookie失效,无法保持登录态。但从A系统页面访问的时候,iFrame中的B系统页面登录失效,一直循环在登录页面。在单独的页面中打开B系统可以正常登录,且持有、保持登录态。

AGreatLoser 8235

什么事LLVM和Clang?Clang与GCC有什么区别?Clang如何使用?

这个问题主要讲Xcode编译器的认知,在学习iOS之前有必要学习一下Objective-C的编译环境。 在了解LLVM和Clang之前,先得了解一下什么是编译器。 编译器是一种计算机程序,它将某种编程语言(高级编程语言)写成的源代码转换成另一种编程语言(低级编程语言)。一个现代编译器的主要工作流程为:源代码->预处理器->编译器->目标代码->链接器->可执行程序...

Welcome~ 9723

使用 <iframe /> 嵌套页面的一点总结

iframe 标签嵌套页面,可能会遇到 x-frame-options 的值为 deny、sameorigin 情况,此时可能出现:xxx.xxx.xxx 拒绝了我们的连接请求。往往被嵌套页面的设置决定了是否能嵌套。

weixin_43714836的博客 1万+

单细胞转录组分析(scRNA-seq)

单细胞转录组测序(Single-cell RNA sequencing,scRNA-seq)是一种高通量测序技术,可以在单细胞水平解析基因表达情况,揭示细胞异质性,探索稀有细胞类型,并研究细胞状态转换及动态调控机制。与传统的。

大甘的博客 6149

涨姿势|小众建模软件Make human,MakeClothes插件使用详解教程(2)

衣服可以从头开始建模,或者通过改变人体网格或由MakeClothes工具提供的“服装助手”(见下文)来建模。在设计和建模一件衣物时,应该记住两个限制。首先,将服装网格映射到人体网格的算法要求服装网格完全由四面体组成。其次,知道MakeClothes每件衣服只支持一种材料是很重要的。 完成MakeClothes工作流程后,您的HOME / makehuman / v1 / data / clothes中的工具将创建一个新文件夹。该文件夹将采用用户为服装项目提供的唯一名称。该文件夹将填充必要的资源,以使该项目在

Crazy_in_3Dmax的博客 1874

通过iframe嵌入三方系统时遇到的跨域问题及解决方案

总结在iframe嵌入第三方系统时遇到的跨域访问问题

_老逄 2万+

DeepSeek绝了!3分钟生成PPT,专治“五彩斑斓的黑“!!(保姆教程)

DeepSeek绝了!3分钟生成PPT,专治"五彩斑斓的黑"!!(保姆教程)

yizhen91y的博客 4万+

iframe 标签

一,什么是iframe 1.iframe是html元素,用于在网页中内嵌另一个网页。 2.iframe默认有一个宽高,存在边界 3.iframe是一个行内快级元素,可以通过display修改 二,iframe元素属性介绍 1.src : 指定内联网页的地址 2.frameborder: iframe默认有个边界,可以设置frameborder为0清除边界。 3.width,height: 控制iframe的宽高。 4.name: 框架的名称 5.scrolling: 是否可滚动,yes ,no , auto

过客如期的博客 8万+

用C#+Avalonia写跨平台串口工具:Windows/macOS/Linux通吃,还能解析Modbus+画实时曲线

不管是串口还是蓝牙,核心操作都是“打开连接、发数据、收数据、关连接”,先定义一个// 通信设备接口:统一串口/蓝牙的操作// 连接状态变化事件(UI层订阅)// 接收数据事件(收到数据后触发)// 通信配置(不同设备配置不同,用泛型)// 通信设备接口:统一串口/蓝牙的操作 public interface ICommDevice : IDisposable {// 连接状态变化事件(UI层订阅) event Action < bool > OnConnectionChanged;

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 997

YOLO26改进策略【YOLO和Mamba】| 2024 VM-UNet,高效的特征提取模块VSS block 二次创新提高精度

VM-UNet模型设计的出发点是解决现有CNN-based和模型在医学图像分割中的局限性,利用(SSMs)的优势,提出一种更有效的医学图像分割模型。具体来说,CNN-based模型在捕捉长距离信息方面存在不足,而模型由于自注意力机制的二次复杂度导致计算负担较重。SSMs模型如Mamba不仅在建模长距离依赖方面表现出色,还具有线性计算复杂度,这为VM-UNet的设计提供了理论基础。

Limiiiing的博客 215

iframe 跨越访问_iframe跨域访问

js跨域是个讨论很多的话题。iframe跨域访问也被研究的很透了。一般分两种情况:一、 是同主域下面,不同子域之间的跨域;同主域,不同子域跨域,设置相同的document.domian就可以解决;父页访问子页,可以document.getElementById("myframe").contentWindow.document来访问iframe页面的内容;如果支持contentDocument也可...

weixin_42467457的博客 1267

项目管理 Agent:进度追踪与风险预警 Harness

我们先从LangChain的Agent定义说起:Agent是一个能感知环境、自主决策、调用工具、执行动作、迭代反思的智能实体。而「项目管理全自主Agent」,就是把Agent的核心能力和项目管理的五大过程组(启动、规划、执行、监控、收尾)深度结合,聚焦执行监控阶段的两个核心痛点:进度偏差自动化计算、风险信号自动化识别与预警的专门化Agent。全感知(Omnisensing):能从。

AI架构师小马 516

html的页面怎样直接跨域访问,【HTML】iframe跨域访问问题

概述本地同一浏览器访问本地HTML文件和访问服务器端HTML文件,本地Iframe没有自适应高度,而服务器端的Ifrane自适应了高度。1.问题重现:Chrome 版本 41.0.2272.101 (64-bit)OS:Win8.1Chrome访问服务器端HTML文件呈现的结果Chrome访问本地HTML文件呈现的结果本地访问的HTML文件Iframe没有根据Iframe里面的页面类容自适应高度2...

weixin_32823993的博客 2111

24、交通信号协调算法与模型解析

本文深入解析了交通信号协调中的关键算法与模型,包括多路径进展模型、MAXBAND网络系统模型和松弛启用带模型。这些模型通过合理安排相位序列、优化绿波带宽等方式,提高了交通运行的效率。文章还探讨了交通控制从单点控制向网络协调的发展趋势,分析了当前面临的挑战与机遇,并提出了未来研究方向,如借助信息技术和机器学习,深入研究交通网络的基本构成,以实现智能化和精准化的信号协调。

agile9scrum的博客 134

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

js 如何访问跨域的iframe的元素

iframe与主框架跨域相互访问方法 iframe的操作-Js/Jquery获取iframe中的元素 iframe高度自适应 以下是我根据以上知识做的跨域的demo 下载不能直接运行,放在你的可启动前端服务的项目中运行,注意demo中的访问页面链接地址要对应该修改一下如:http://127.0.0.1:3333/pages/execB.html 链接:https://pan...

ayfxo22204的专栏 2964

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

允许CEF跨域访问iframe

虽然此时,在线页面嵌入成功并显示出来了,但是,无法happy的实现父子页面的跨域访问,父页面想要调子页面的JavaScript方法,没门,子页面调父页面,没门,限制重重。根据异常消息,子页面访问的父页面的URL必须为http协议,而非file协议。既然我们用CEF,那么跟Chrome也是一般无二了,只要找到类似的设置就可以。重新启动程序,显示iframe中的在线页面,为输出原来的异常消息。来显示一个在线页面,加载的过程中会触发一个未捕获异常,默认情况下,如果嵌入本地Web页面,并在页面内部使用。

因热爱而执着,因执着而成功。 776

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

iframe 跨越访问_iframe 元素跨域访问

使用元素可以在当前页面嵌入其他页面。如果两个页面是不同源的,那么父子窗口无法通信,也就是无法拿到对方的DOM。代码如下:[JavaScript] 纯文本查看 复制代码document.getElementById("theIframe").contentWindow.document如果父子窗口非同源,那么上面代码会报错;对于window.open方法打开的窗口也是如此。如果两个窗口一级域名相同,...

weixin_35682327的博客 1649

域内容iframe跨域访问

之前一直在究研域内容之类的问题,上午正好有机会和大家论讨一下.     js跨域是个论讨很多的话题。iframe跨域拜访也被究研的很透了。     一般分两种情况:     一、 是同主域面下,不同子域之间的跨域;     同主域,不同子域跨域,置设雷同的document.domian就能够决解;      父页拜访子页,可以document.getElementById("myfram

391

iframe 跨越访问_iframe与主框架跨域相互访问实现方法

1.同域相互访问假设A.html 与 b.html domain都是localhost (同域)A.html中iframe 嵌入 B.html,name=myframeA.html有js function fMain()B.html有js function fIframe()需要实现 A.html 调用 B.html 的 fIframe(),B.html 调用 A.html 的 fMain()A....

weixin_27890975的博客 696

iframe跨域引用其他url造成拒绝访问的解决办法

有这样一段代码,需要在隐藏的iframe中调用其他的url: function a(){ var url=...;//跨域url var param=...; iframe3.document.location=encodeURI(url+param); }     这个函数在同一页面上调用一次,没问题。再点一次呢?问题出现:JS提示拒绝访问。 如何能够避免这个问题...

吃饭穿衣靠Java 8284

如何取消谷歌浏览器对iframe类禁止跨域访问的办法【支持跨域网页访问】【ie浏览器默认是可以访问的】

解决访问来自文章:https://docs.uibot.com.cn/guide/ 有时候,在一个网页当中,会通过引用的方式,或者iframe嵌套的方式,在其中内嵌一个其他域名下的网页。对于这种情况,我们称为“跨域网页”。在这种情况下,出于安全的考虑,不同的浏览器会有不同的策略。我们来实际体验一下: 打开Chrome浏览器,浏览http://mail.qq.com,即QQ邮箱页面,切换到...

weixin_43343144的博客 1万+
上一篇: Cavans时钟动画
下一篇: common.js
bing_JavaScript
博客等级 码龄11年 44粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值