首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用 WebSocket 实现 iframe 通信

宫崎骏风-罗罗诺亚·索隆前言本文是使用 WebSocket 实现 iframe 通信思路实现了一个本地 Demo,功能有:iframe 页面之间互相通信嵌套的 iframe 通信WebSocket...上传图片发现掘金有限制,图片体积不能超过20M,静态图附上页面布局整体运行效果都是在本地运行的,启动了3个前端服务页面,分别是 8090,8091,8092屏幕主页面是8090服务运行的,有两个卡片区可以向其他两个页面进行通信页面中使用...iframe嵌入了8091和8092的页面,分别是这两个卡片区,嵌入的卡片页也可以分别向其他两个页面进行数据通信代码思路实现目录结构这是本地Demo的目录结构,每个服务都根据端口名进行目录区分,如果看GitHub...="iframe2" src="http://localhost:8092"> 在页面初始化后进行 WebSocket 进行连接,然后使用 onmessage...区别点在接收数据这里,接收数据使用一个 进行的接收数据展示,然后根据 sender 的来源提示不同的文字ws.onmessage = function

8710

iframe应用 - 使用iframe提交表单数据

之前我们提到了iframe,今天我们在原有的基础之上进行“实例”的讲解。通过iframe实现表单数据的提交。...如果想了解iframe,可以发送“iframe”到“HTML5学堂”公众号。 为何提交数据还要?...在使用iframe之前,可能你的脑海中就出现了这样一个问题:为何提交表单数据还需要呢?...实现流程,在A域中的a.html创建iframe标签,iframe标签的内容是B域中的b.html,之后通过a.html控制b.html去申请B域中的addUser.php文件 功能实现的基本流程 1...构建基本的结构样式 2 引入需要依赖的JS文件 3 定义动态创建iframe标签的功能函数 4 获取表单数据并序列化、加密处理 5 通过AJAX发送请求,完成 代码书写位置 我们依旧在A当中进行代码书写

5.2K50
您找到你想要的搜索结果了吗?
是的
没有找到

详解使用postMessage解决iframe通信问题

第一时间想到的就是用iframe了,但问题来了,我和第三方web项目是有交互的,这就违反同源策略了,处理问题是最让人头疼的事之一。...需求是这样的,在我的页面点击一些按钮,要实时反馈到iframe子页面,子页面再进行响应。 当时脑子里第一时间想到的解决方案是:用NGINX把两个项目代理到同一域名下。...在window对象下有个postMessage方法,是专门用来解决通信问题的。...关于postMessage的详细介绍请戳这里,不过MDN的文档太详细了,导致有些同学看完还是一脸懵逼,下面我们就来看看怎么用postMessage实现iframe通信,当你会用了之后再回去看文档,感觉是完全不同的...是无法通信,因为它们是不同源的(假设存在问题),这时候就要用到postMessage了。

3.5K21

深入剖析iframe问题

HTML5学堂:本文当中我们介绍了的基本知识,讲解到了的相关种类,并讲解了解决域中的一种方法——如何使用iframe。...讲解了iframe的基本原理与流程,并配以实战~ 利利的独白:,是我们的课程中必不可少的一部分,但是我们一直都是在讲解JSONP的方式,虽然也提到了iframe方式,但是由于时间因素,...什么是 同源策略限制了一个源(origin)中加载文本或脚本与来自其它源(origin)中资源的交互方式。...iframe的流程 1 创建iframe - 在a.html文件中,动态创建iframe元素/标签 2 视觉控制 - 为了让用户无法看到这个iframe元素/标签,需要使用CSS将其移出可视区 3...因此此处使用“h5course.com” Tips:可能你会问,b.html没有使用jQuery,利利你为何还要加JQ的引入呢?

13.7K41

如何进行渗透测试XSS站攻击检测

源访问 同源策略控制了不同源之间的交互,这些交互通常分为三类: 通常允许写操作(Cross-origin writes) 链接(links) 重定向 表单提交 通常允许资源嵌入(Cross-origin..."> 标签嵌入CSS。由于CSS的松散的语法规则,CSS需要一个设置正确的Content-Type 消息头。 / / 嵌入多媒体资源。...站点可以使用X-Frame-Options消息头来阻止这种形式的交互。 3.2.2.3.1....,绕过了检查,如果网站没有回正确的mime type,浏览器会进行猜测,就可能加载该img作为脚本 3.2.3.3.3. 302跳转 对于302跳转绕过CSP而言,实际上有以下几点限制: 跳板必须在允许的内...要加载的文件的host部分必须跟允许的的host部分一致 3.2.3.3.4. iframe 当可以执行代码时,可以创建一个源为 css js 等静态文件的frame,在配置不当时,该frame并不存在

2.6K30

AJAX的一个简单实例,的解决,使用JQuery进行ajax的调用

可以在不刷新网页的情况下与后台服务器进行通讯,加强用户的体验感。是目前广泛使用的前端技术,下面将用原生js和JQuery来介绍一个简单的ajax实例。...json", success: function(data) { //请求成功后回调函数 }, error: function(jqXHR){ //请求失败后回调函数 }, }); 4.解决问题...http://www.abc.com:8080/index.php 协议.二级域名.域名:端口号/目标脚本文件 是用ajax异步请求时经常遇到的问题,只要协议、域名、端口号其中一个不同,就产生了访问...,解决的方法很简单,建议利用XHR2方法,在后台进行操作从而实现支持IE9以上在服务器设置以下2个请求头就可以解决: header('Access-Control-Allow-Origin:*');...//*为支持所有地址,可以改为只允许特定地地址 header('Access-Control-Allow-Methods:POST,GET');//POST、GET为允许的请求方式

5.9K10

前端知识体系整理(不断更新)

的形成(同源限制):主、子、ip和域名、协议不同、端口不同 常用解决方案 iframe+document.domain:适用于垮子的情况 缺点是如果一个域名下存在安全问题,另一个域名下可能也会有问题...,还有就是创建iframe的开销 动态引入js脚本:适合所有的场景 引入的脚本会立刻执行,存在安全风险 要与远端沟通约定变量,增加了开发和维护成本 iframe+location.hash:...适合各种场景下 iframe嵌套引用,开销更大 会产生历史记录,url中暴露传递的内容 iframe+window.name:使用iframe的window.name从外域传递数据到本地域,适合各种场景下且数据安全...缺点是数据有大小限制 postMessage通讯 jQuery 可阅读yuanyan同学的jQuery编程实践 安全问题 XSS CSRF SQL注入 敏感信息采用安全传输(SSL/HTTPS...:脚本延后加载,合并加载,并行加载 函数内部的变量尽可能使用局部变量,缩短变量作用的查找时间 缓存对象引用: var a = $('#box .a'); var b = $('#box .b'); 可以缓存

1.6K20

求职 | 史上最全的web前端面试题汇总及答案2

iframe会阻塞主页面的Onload事件,搜索引擎的检索程序无法解读这种页面,不利于SEO; ②iframe和主页面共享连接池,而浏览器对相同的连接有限制,所以会影响页面的并行加载。...因为它涉及浏览器兼容、等问题,在项目中一般会使用一些基础类库辅助实现,如jQuery等。 一个简单的Ajax操作如下。 5、谈谈你对JSON的理解。...6、你的项目中有使用吗?你在项目中是如何处理JS问题的? ①有。 ②主要是使用其它网站提供的javascript api如QQ。使用script的src可以直接读取资源。...③Ajax与JSONP的区别也不在于是否,Ajax通过服务端代理也可以,JSONP也可获取同源数据。...如何解决问题?

6K20

献给前端求职路上的你们(下)

如何解决问题?...jsonp(利用script标签的能力)、websocket(HTML5的新特性,是一种新协议)、设置代理服务器(由服务器替我们向不同源的服务器请求数据)、CORS(源资源共享,cross...origin resource sharing)、iframe、postMessage(包含iframe的页面向iframe传递消息) 模块化怎么做?...(6) 避免使用CSS Expression(css表达式)又称Dynamic properties(动态属性)。 (7) 图片预加载,将样式表放在顶部,将脚本放在底部 加上时间戳。...解析:对加载到的资源(HTML、JS、CSS等)进行语法解析,建议相应的内部数据结构(比如HTML的DOM树,JS的(对象)属性表,CSS的样式规则等等)} 你常用的开发工具是什么,为什么?

1.1K60

解决方案整理笔记

知识: 在开发测试中,难免会在不同进行操作,出于安全性考虑,浏览器中的同源策略阻止从一个加载的脚本获取或者操作另一个下的文档属性,这时需要进行的方式进行解决,如:使用 jsonp...,iframe 等 要理解,先要了解一下“同源策略”。...文章推荐 解决方案二:使用 JSONP 实现 JSONP安全防范解决方案新思路 三....为避免造轮子,相关内容推荐建议参考文章: —— 最常用的两种解决方案 —— 解决方案一:使用CORS实现 —— 资源共享 CORS 详解(阮一峰) 四....CSST (CSS Text Transformation) 概念:一种用 CSS 传输文本的方案。相比 JSONP 更为安全,不需要执行站脚本。

81630

web解决方案

:  1、JSONP  2、CORS策略  3、document.domain+iframe的设置  4、HTML5的postMessage  5、使用window.name来进行 的原理解析及实现方法...缺点: 兼容性方面相对差一点,ie10或以上才支持 3、document.domain+iframe的设置  (只有在主相同的时候才能使用该方法) 原理:   浏览器中不同的框架之间是不能进行js...标签完成加载B页面之后,再取iframe对象的contentDocument,否则如果B页面没有被iframe完全加载,在A页面中通过contentDocument属性就取不到B页面中的jQuery对象...一旦取到B页面中的jQuery对象,就可以直接发ajax请求了,这种类似“代理”方式可以解决主子问题。...5、使用window.name来进行(相对比较完美的方法)  原理:    当iframe的页面跳到其他地址时,其window.name值保持不变,并且可以支持非常长的 name 值(2MB)。

2.7K100

JS请求解决方案

+ iframe location.hash + iframe window.name + iframe postMessage 资源共享(CORS) nginx代理 nodejs...中间件代理 WebSocket协议 (1) 通过jsonp 通常为了减轻web服务器的负载,我们把js.css,img等静态资源分离到另一台独立域名的服务器上,在html页面中再通过相应的标签从不同域名下加载静态资源...= document.createElement('iframe'); // 加载页面 iframe.src = url; // onload事件会触发2次,第1次加载页...服务端设置 若后端设置成功,前端浏览器控制台则不会出现报错信息,反之,说明没设成功。...Nginx配置解决iconfont 浏览器访问js.css.img等常规静态资源被同源策略许可,但iconfont字体文件(eot|otf|ttf|woff|svg)例外,此时可在nginx的静态资源服务器中加入以下配置

5K10

什么是?解决方案有哪些?

解决方案 1、 通过jsonp 2、 document.domain + iframe 3、 location.hash + iframe 4、 window.name + iframe...服务器的负载,我们把js、css,img等静态资源分离到另一台独立域名的服务器上,在html页面中再通过相应的标签从不同域名下加载静态资源,而被浏览器允许,基于此原理,我们可以通过动态创建script,... window.name属性的独特之处:name值在不同的页面(甚至不同域名)加载后依旧存在,并且可以支持非常长的 name 值(2MB)。...= document.createElement('iframe'); // 加载页面 iframe.src = url; // onload事件会触发2次, 第1次加载页...1、 nginx配置解决iconfont 浏览器访问js、css、img等常规静态资源被同源策略许可,但iconfont字体文件(eot|otf|ttf|woff|svg)例外,此时可在nginx

14.8K32

解决Editor.md上传图片获取不到图片地址问题

Editor.md图片上传获取不到图片地址,Editor.md图片上传iframe存在情况,几经调试都不好用,最后采取替代方案,还不存在情况。...背景是在PC端使用,直接引入JQuery和Markdown.md插件进行使用editor.md目录介绍这边需要说明一下 editor.md目录,本文介绍的版本为v1.5.0,在首页下载完成,解压editor.md-master.zip...css目录中可选择editormd.min.css放在对应的项目css目录中;js可选择editormd.min.js放置在对应项目的js目录中,需要注意的是同时需要引入jQuery,这里使用jquery.min.js...;examples文件夹中是一部分核心功能的demo,在使用的过程中用到对应的组件或功能可打开参考;fonts是需要用到字体,可一并引入项目;images是一些加载类的图片;lib是editor.md依赖的第三方...js资源,比如流程图的js资源;plugins主要是编辑器上面的操作功能插件,比如图片上传等,可选择使用进行加载;导入到web 项目中的目录如下:页面中需要引入的文件,其他插件根据需要再增加<!

1.9K40

前端常见解决方案

9、 WebSocket协议 一、 通过jsonp 通常为了减轻web服务器的负载,我们把js、css,img等静态资源分离到另一台独立域名的服务器上,在html页面中再通过相应的标签从不同域名下加载静态资源... window.name属性的独特之处:name值在不同的页面(甚至不同域名)加载后依旧存在,并且可以支持非常长的 name 值(2MB)。...= document.createElement('iframe'); // 加载页面 iframe.src = url; // onload事件会触发2次,第1次加载页...目前,所有浏览器都支持该功能(IE8+:IE8/9需要使用XDomainRequest对象来支持CORS)),CORS也已经成为主流的解决方案。...1、 nginx配置解决iconfont 浏览器访问js、css、img等常规静态资源被同源策略许可,但iconfont字体文件(eot|otf|ttf|woff|svg)例外,此时可在nginx

3K20

资源文件的动态加载

常用的技术 CSS Sprites,用来将不经常改动的小图片整合成一张大图片,在CSS中利用background-position、width和height来控制显示的区域。...实现动态加载JS的方式: iframe document.write head.appendChild(script)  可 xhr请求,然后eval xhr注入 逐个分析: 1、document.write...Script in Iframe 通过 iframe 加载 js。 Script DOM Element 使用 JavaScript 动态创建 script DOM 元素并设置其 src 属性。...各种方式各有优缺点,比如能否、是否会阻塞其它资源的下载(能否并行下载)、能否管理控制执行顺序、耗费的资源、是否兼容各大浏览器等(部分方法的特性可参考这儿)。...Script DOM Element 这是最常用的方式,它的优点很多:可以、可以加载任何格式的外部 js(不需要对外部 js 进行重构)、不会阻塞其它资源的下载、实现简单。

2.3K90

请求方案 终极版

中间件代理 9、 WebSocket协议 一、 通过jsonp 通常为了减轻web服务器的负载,我们把js、css,img等静态资源分离到另一台独立域名的服务器上,在html页面中再通过相应的标签从不同域名下加载静态资源... window.name属性的独特之处:name值在不同的页面(甚至不同域名)加载后依旧存在,并且可以支持非常长的 name 值(2MB)。...= document.createElement('iframe'); // 加载页面 iframe.src = url; // onload事件会触发2次,第1次加载页,...目前,所有浏览器都支持该功能(IE8+:IE8/9需要使用XDomainRequest对象来支持CORS)),CORS也已经成为主流的解决方案。...1、 nginx配置解决iconfont 浏览器访问js、css、img等常规静态资源被同源策略许可,但iconfont字体文件(eot|otf|ttf|woff|svg)例外,此时可在nginx

3.8K31
领券