按情境分1、不跨域时2、主域相同、子域不同时3、主域不同 不跨域时访问iframe: contentWindow访问父级:parent 访问顶级:top注:没有发布网站不要使用webikit核心浏览器访问,不允许操作iframe,要用firefox,ie之类的测试a.html<html xmlns="http://www.w3.org/1999/xhtml">
<head>
转载
2024-03-13 22:24:18
267阅读
近期由于有个项目,在一个页面里嵌套了iframe页面,然后要用父页面调用子页面进行操作,一开始我没考虑太多,就直接在父页面用dom操作,直接操作子页面的dom,然后搞了半天都没搞成。后来去网上查了下,就是因为父页面里嵌套了子页面iframe,他们不是同一个页面的,所以不能直接进行调用。但这种情况也不属于跨域吧,如果是属于跨域的话,就只能改变url地址,不能操作互相操作d
[quote]浏览器跨域获取特定域的数据的办法
以前看了几篇这方面的文章,但是都未能找到一个合适的解决方法。
获取同一个域的数据,可以通过XMLHTTP组件或IFRAME来实现,不存在跨域访问的权限问题,因此比较简单。
但如果要访问不同域的数据时,由于浏览器的安全设置,XMLHTTP没有权限获取数据,而IFRAME没有权限将获取的数据传递给父窗口,似乎没有其它解决办法。
在网上提到的方
转载
2024-08-12 17:46:40
102阅读
业务场景:列表页面添加一个导入功能,该导入功能由第三方页面提供,导入完成后需要通知主列表刷新数据。先来看看iframe跨域调用父页面的实现逻辑(以postMessage方式为例) (postMessage介绍:https://developer.mozilla.org/zh-CN/docs/Web/API/Window/postMessage )1.父页面html
转载
2024-08-01 12:57:25
93阅读
什么是跨域跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。广义的跨域:
1.) 资源跳转: A链接、重定向、表单提交
2.) 资源嵌入:<link>、<script>、<img>、<frame>等dom标签,还有样式中background:url()、@font-face()等文件外链 3.
转载
2024-08-21 15:48:56
197阅读
如今,RestFul接口服务比较流行,应用通过一套Http的API,并用json或者xml作为交互的数据格式来提供服务。这么做有效地实现了web项目,前后端的分离。从而使得架构更加开放,这套API可以同时给多套前端项目提供服务,包括web端和APP端。什么是跨域?跨域问题的由来是浏览器的同源策略。 所谓同源是指,域名,协议,端口相同。浏览器执行javascript脚本时,会检查这个脚本属于那个页
这里不再赘述同源政策。 1.cookie的跨域 只有同源的网站才能共享Cookie,但是如果两个网站一级域名相同,只是二级域名不同,那么就有两种解决的方法: A:在两个页面上设置相同的document.domain,那么cookie可以共享。 B:或者在服务端,在cookie上设置相同的domain2.iframe的跨域 父窗口获取不到子窗口的dom,子窗口也获取不到父窗口的dom;如果
1、跨域和同源策略什么是同源策略? 同源策略是指浏览器处于安全考虑的情况下,只允许本域下的借口进行交互。不同源的客户端在没有授权的情况下是不允许获取对方资源的。本域指的是什么? 同协议:例如相同的http或https &nb
转载
2024-06-26 14:21:08
595阅读
什么是跨域跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。所谓同源是指,域名,协议,端口相同。浏览器执行javascript脚本时,会检查这个脚本属于那个页面,如果不是同源页面,就不会被执行。同源策略的目的,是防止黑客做一些做奸犯科的勾当。比如说,如果一个银行的一个应用允许用户上传网页,如果没有同源策略,黑客可以编写一个登陆表单
转载
2024-05-31 21:56:33
44阅读
1.什么是跨域跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。所谓同源是指,域名,协议,端口都相同。浏览器执行javascript脚本时,会检查这个脚本属于哪个页面,如果不是同源页面,就不会被执行。2.跨域的常见解决方法目前来讲没有不依靠服务器端来跨域请求资源的技术jsonp 需要目标服务器配合一个callback函数。wind
转载
2024-04-02 22:09:02
727阅读
有的时候iframe的子页面会动态的切换页面,我们在父页面通过iframe1.contentWindow.window.location只能获取同源的子页面的信息。获取跨域的子页面信息会报错。这时可以通过html5 提供的接口 postMessage来过去跨域子页面信息。如下代码: 在localhost:8000服务器下的入口测试页面:http://localhost:8000/inde
转载
2024-09-29 21:46:25
115阅读
概述JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。但在安全限制的同时也给注入iframe或是ajax应用上带来了不少麻烦。这里把涉及到跨域的一些问题简单地整理一下:首先什么是跨域,简单地理解就是因为JavaScript同源策略的限制,a.com 域名下的js无法操作b.com或是c.a.com域名下的对象。更详细的说明可以看下表: 对于主域相同子域不同的通信方法这
这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据。只要协议、域名、端口有任何一个不同,都被当作是不同的域。下表给出了相对http://store.company.com/dir/page.html 同源检测的结果:要解决跨域的问题,我们可以使用以下几种方法:1、通过jsonp跨域
一、跨域简介 1. 首先简单介绍一下什么是跨域 当我们在浏览器的地址栏中输入一个地址的时候,这个地址通常包含四部分信息内容。这四部分信息包含:①协议、②域名、③端口、④资源位置。 &n
转载
2024-04-19 23:05:33
1162阅读
因为浏览器的同源策略导致,不同域名之间无法访问,故而产生了一些规避的方法,今天学习了下,做下总结,加深记忆。1.使用iframe标签进行跨域操作,原理解析:iframe框架标签拥有src属性,而其本身拥有访问外部页面的功能,我们可以通过iframe访问外部连接,载入之后以iframe为桥梁获取数据。具体见下面例子://前提条件
// a.test.com 访问 b.test.com/test
转载
2024-08-15 15:13:59
10000+阅读
请求发送了两次,这是什么原因呢?这种请求是因为它是applocayion/json格式的请求,在请求一个资源的时候,先会发送一个预检请求,然后才会发送真正的请求,那为什么报错了跨域问题呢,是因为当前这个请求的Content-Type请求值不被支持要解决此类问题需要,在请求头上添加对应的规则:1.#允许请求的header
add_header 'Access-Control-Allow-H
转载
2024-06-27 11:14:48
140阅读
Web项目前后端分离开发时,经常会遇到跨域请求和跨域携带Cookie的相关问题:需要解决前端pc跟服务端(java),跨域后都能获取到同一个cookie。使用二级域名共享cookie有一个限制条件,就是两个域名的二级域名必须相同前端pc访问域名:a.b.com
后端接口域名:a-gateway.b.com
这两个域名同属一个二级域名:b.com跨域访问服务器nginx增加以下配置,即可解决跨域访问
转载
2024-04-09 08:49:27
281阅读
在项目中,经常会使用到 iframe,把其它域名的内容嵌入到页面中,这对于我们来说是个很方便的方法,但是,有时候,无可避免需要多个iframe间或者iframe与主页面之间进行通信,比如交换数据或者触发一系列事件。本文将重点介绍如何在跨域的情况下进行iframe通信。首先,我们了解一下在同域情况下,iframe的通信方法。frame同域通信假设,www.a.com域的main.jsp需要与子页
转载
2024-08-04 11:22:11
198阅读
Nginx反向代理处理跨域问题 最近在做项目的时候遇到了一个问题,A系统首页,需要使用IFrame嵌套B系统、C系统的相关页面,那么问题来了——跨域。虽然我们Java9以上框架都有SameOriginIframe(请求头中是否增加X-Frame-Options=SAMEORIGIN,默认1添加,设置为0不添加)、AllowIframeURL(允许其他域名的iframe嵌套页面的地址)、w
转载
2024-03-27 16:22:02
3970阅读
如何利用网页ajax请求暴露出来的接口去抓取网页数据?很多爬虫都能实现这个功能。不过今天要来和大家八一八单从前端的角度,利用js解决这个问题。大家都知道,在不同域的情况下是不能发送ajax请求的,浏览器会报如下错误: 同时,内嵌的iframe中无法进行跨域通信的,也就是说不同域的iframe是无法互相读取数据的(当然利用hash变化可以从父window传入数据到子iframe,不过并没有什么意义
转载
2024-09-02 11:40:34
756阅读