前提是你有编辑这个跨域的iframe的权限!! 1. main-domain.html (main display HTML) <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>main-domain.html</title> </head> <body> <iframe id="js_iframe&quo…
可以通过JS搞定跨域问题,但是比较麻烦,我就在后台处理了,其实这样本质上也算不上是跨域了 后台otherwebsite.php: <?php $url="www.otherwebsite.com"; echo " <html> <head> <title></title> <meta content='0; url={$url}' http-equiv='refresh'> </head> <…
note:当页面内嵌入一个iframe实际上是在dom上新建了一个新的完整的window对象 iframe中取得主窗体 window.top (顶级窗口的window对象) window.parent (当前iframe的父窗体window) 多层嵌套的iframe window.parent.parent....来取 取得需要的window后可进行操作父文档的内容 如: window.top.document.getElementById(''xxx"); 主窗体中取得iframe所属的win…
1.跨域访问页面, 需要访问后台的页面,通过后台调转 2.跨域自适应宽高   思路:通过相互嵌套,获取跨域页面的高度,通过src传回到本域,通过parent方法设置主页的iframe的高度 index.jsp 本域 var ifr_el = document.getElementById("content"); function getIfrData(data){ //console.log("index:"+data); if(oldHeight!=data){…
问题场景:在一个应用(集团门户)的某个page中, 通过IFrame的方式嵌入另一个应用(集团实时监管系统)的某个页面. 当两个应用的domain 不一样时, 在被嵌入的页面中Session失效.(session基于cookie实现,引用页不允许使用cookie). 问题分析:IE6/IE7从安全性角度考虑,支持的P3P(Platform for Privacy Preferences Project (P3P) specification)协议默认阻止第三方无隐私安全声明的cookie,Fir…
 Refused to display 'http://www.***.com/login/doLogin.html' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.  触发原因:页面的返回头被设置 X-Frame-Options SAMEORIGIN ,只能被同源的iframe 引用.跨域名的iframe 没法显示了. 解决办法:第一步 把 服务器上的 X-Frame-Options header 去掉 第二步 添加 如…
一.postMessage window.postMessage() 方法可以安全地实现跨源通信.通常,对于两个不同页面的脚本,只有当执行它们的页面位于具有相同的协议(通常为https),端口号(443为https的默认值),以及主机(两个页面的模数 Document.domain设置为相同的值)时,这两个脚本才能相互通信.window.postMessage() 方法提供了一种受控机制来规避此限制,只要正确的使用,这种方法就很安全. 调用 postMessage() 方法时,向目标窗口派发一个…
公司某个功能用的是iframe,由于跨域的原因,我们不能直接设置父级页面iframe的高度,所以用了一个中间页home来完成父级页面iframe的高度设置,这种中间页其实很多时候不好用,因为涉及到页面跳转和刷新,每次都得刷一下页面,而消息发送成功页的一个定位到顶部的功能,就是由于页面刷了一次导致体验不好,除了体验,这种中间页跳转的做法也很蹩脚和繁琐. 昨天网上Get了一下iframe的跨域解决方案 找到了一个方法! postMessage,通过postMessage可以实现iframe的跨域通信…
在实际项目开发中可能会碰到在 a.com 页面中嵌套 b.com 页面,这时第一反应是使用 iframe,但是产品又提出在 a.com 中操作,b.com 中进行显示,或者相反. 1.postMessage   postMessage方法允许来自不同源的脚本采用异步方式进行有限的通信,可以实现跨文本档.多窗口.跨域消息传递. 语法: otherWindow.postMessage(message, targetOrigin, [transfer]); otherWindow:其他窗口的引用,如…
概念 Ajax Ajax,Asynchronous JavaScript and XML,字面意思:异步的 JavaScript 和 XML,是指一种创建交互式网页应用的网页开发技术. 用于异步地去获取XML作为数据交换的格式,当然,现在的 ajax 并不仅仅局限于XML作为数据交换格式,还可以像纯文本.XML.HTML.JSON 等格式均可. 特点 使用脚本操纵HTTP和Web服务器进行数据交换,不会导致页面重载. 避免页面重载(这是Web初期的标准做法)的能力使Web应用感觉更像传统的桌面应…
前言: 最近在公司做了几个项目都涉及到了iframe,也就是在这些iframe多次嵌套的项目中,我发现之前对iframe的认识还是比较不足的,所以就静下心来,好好整理总结了iframe的相关知识:<Iframe 功能详解>. 在做公司项目的过程中,让我纠结之一的就是iframe的跨域问题,在网上查到的资料,基本都是给个思路,加个DEMO,也没有完整的解决方案.所以这里我结合公司的项目实际需求,从新整理了一下javaScript跨域的相关方法. PS:请转载的童鞋,请注明出处 ... 目录: 一…
Ajax Ajax,Asynchronus JavaScript and XML,字母意思:异步的 JavaScript 和 XML,是指一种创建交互式网页应用的网页开发技术.用于异步地去获取XML作为数据交换的格式,当然,现在的 ajax 并不仅仅局限于XML作为数据交换格式,还可以像纯文本.XML.HTML.JSON 等格式均可. 特点 使用脚本操纵HTTP和Web服务器进行数据交换,不会导致页面重载. 避免页面重载(这是Web初期的标准做法)的能力使Web应用感觉更像传统的桌面应用. We…
1.跨域请求: Cross Domain Request:跨域名的HTTP请求,浏览器从某个域名下的资源访问了另一域名下的另一资源(协议.域名或是端口号不同): ①浏览器允许跨域请求的情形:  <img>.<link>.<script>.<iframe> ②禁止跨域请求的情形:  XHR--浏览器默认出于安全考虑,禁止XHR跨域请求: ③相关名词及解决方案:  a.相同域:两个具有相同的协议(如:http).相同的端口(如:80).相同的host(主机名),…
什么是跨域?为什么要实现跨域呢? 这是因为JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象.也就是说只能访问同一个域中的资源.我觉得这就有必要了解下javascript中的同源策略是怎么回事了:javascript的同源策略 .这里更加细致详细的总结了为什么要跨域:javascript跨域之  什么是跨域?为什么跨域? 于是当我们想某些特定的功能的时候,实现合理的跨域请求就显得比较重要了.我努力通过自己动手,自己模拟环境来切实的尝试跨域是怎么回事. 第一部分总结如下: -->…
 跨域:当协议.域名.端口号任何一个不相同时,叫称为跨域.   HTML5  CORS(cross-origin-resource-sharing)跨域资源共享: 原理:当需要访问跨域的资源时,可以通过定义http头信息,使得服务器响应跨域请求. 如: // 使用通配符 * ,表示当前服务端响应任何域名发起请求,不推荐 可以具体指定某个地址 <?php header('Access-Control-Allow-Origin:*'); ?>就这样在服务端简单加一句响应头responese hea…
在跨域安全性方面,有多个地方会有限制,主要是XMLHttpRequest对象的跨域限制和iFrame的跨域限制,下面我们分别来看一下. Ajax跨域(CORS) CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing). 它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制. CORS需要浏览器和服务器同时支持.目前,所有浏览器都支持该功能,IE浏览器不能低于IE10. 整个CORS通…
在跨域安全性方面,有多个地方会有限制,主要是XMLHttpRequest对象的跨域限制和iFrame的跨域限制,下面我们分别来看一下. Ajax跨域(CORS) CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing). 它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制. CORS需要浏览器和服务器同时支持.目前,所有浏览器都支持该功能,IE浏览器不能低于IE10. 整个CORS通…
什么是跨域?为什么要实现跨域呢?   这是因为JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象.也就是说只能访问同一个域中的资源.我觉得这就有必要了解下javascript中的同源策略是怎么回事了:javascript的同源策略   于是当我们想某些特定的功能的时候,实现合理的跨域请求就显得比较重要了.       -->1.原生Ajax对象xhr的跨域   -->2.简单jsonp   -->3.图像Ping   -->4.document.domain+if…
www.111cn.net 更新:2015-01-07 编辑:flyfox 来源:转载 跨域在开发中一些是一个比较常见的问题虽然有json或者xml来解决,现在html5开始流行了,我们可以通过Access-Control-Allow-Origin解决跨域问题,下面一起来看看.   A.abc.com 发起一个到 abc.com/B 的ajax请求,也会有跨域的问题.之所以会有跨域问题,实则是因为www.abc.com其实同A.abc.com一样,也是一个二级域名,而非一级域名(一级域名是htt…
问题场景: web是嵌入到手机客户端中的静态页面,为了统计用户行为需要引入ga,但是ga必须是在www下才行,哪怕是localhost,这就是矛盾.解决方案是在页面中使用iframe,iframe是在另外一个域名下的,然后在iframe中调用ga方法.很显然必须要解决iframe的跨域通信. var frame=document.getElementById("gaFrame"); document.body.onclick=function(){ var sendData={ &qu…
什么是“”跨域”: 跨域访问,简单来说就是 A 网站的 javascript 代码试图访问 B 网站,包括提交内容和获取内容.由于安全原因,跨域访问是被各大浏览器所默认禁止的.当一个域与其他域建立了信任关系后,2个域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享与管理.这就形成了“跨域”. 广义的跨域: 1.) 资源跳转: A链接.重定向.表单提交2.) 资源嵌入: <link>.<script>.<img>.&l…
为什么返回的数据前面有callback?   这是一个同学出现的问题,问到了我. 应该是这样的: 但问题是这样的: 我看了所请求的格式和后台要求的也是相同的.而且我也是这种做法,为什么他的就不行呢? 打了几遍 JSON.parse 也都是不行……然后也不知道什么情况的耿耿于怀的回去了. 后来在网上搜索,结果都不是想要的. 把 callback 字符串截取掉,这个就不用说咯.这是一种把 json 弄出来的方法.但并不是要问的问题.要问的是: 为什么返回的数据前面会加上 callback ,括号里才…
HTML5:使用postMessage实现Ajax跨域请求 由于同源策略的限制,Javascript存在跨域通信的问题,典型的跨域问题有iframe与父级的通信等. 常规的几种解决方法: (1) document.domain+iframe: (2) 动态创建script: (3) iframe+location.hash: (4) flash. 这里不细说这几种方法,记录的是HTML5的window.postMessage.postMessage兼容IE8+.Firefox.Opera.Saf…
一.什么是跨域? 跨域是指一个域下的文档或者脚本去请求另一个域下的资源.(广义) 广义的跨域: 1.资源跳转:链接跳转.重定向.表单提交. 2.资源嵌入:<link>.<script>.<img>.<frame>等dom标签:还有background:url(). @font-face()等文件外链css. 3.脚本请求:js发起的ajax请求.dom和js对象的跨域操作等. 狭义的跨域:是由浏览器“同源策略”限制的一类请求场景. 二.同源策略 同源策略/S…
什么是跨域? 跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的. 广义的跨域: 1.) 资源跳转: A链接.重定向.表单提交 2.) 资源嵌入: <link>.<script>.<img>.<frame>等dom标签,还有样式中background:url().@font-face()等文件外链 3.) 脚本请求: js发起的ajax请求.dom和js对象的跨域操作等 其实我们通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场…
[名词解释] 跨域:https://developer.mozilla.org/en-US/docs/JavaScript/Same_origin_policy_for_JavaScript 同源策略(注意Network Access这一节):http://www.w3.org/Security/wiki/Same_Origin_Policy   [问题描述] 浏览器出于安全的考量(避免恶意网站轻易读取其他网站显示的内容,因为该内容可能含有敏感信息,想象iframe嵌套银行网页)原则上允许跨域写…
由于现代浏览器的同源策略,合理的跨域请求也变得至关重要. CORS(Cross-Origin Resource Sharing,跨域资源共享)定义了在必须访问跨域资源时,浏览器与服务器应该如何沟通.它背后的思想是使用自定义的HTTP头部让浏览器与服务器进行沟通,从而决定请求或相应是应该成功还是应该失败. 一些跨域技术: 1.JSONP JSONP(JSON with padding 填充式JSON或参数式JSON),是应用JSON的一种新方法,是被包含在函数调用中的JSON. JSONP由两部分…
转自:http://narutolby.iteye.com/blog/1464436 javascript跨域访问是web开发者经常遇到的问题,什么是跨域,一个域上加载的脚本获取或操作另一个域上的文档属性,下面将列出三种实现javascript跨域方法: 1.基于iframe实现跨域 基于iframe实现的跨域要求两个域具有aa.xx.com,bb.xx.com这种特点,也就是两个页面必须属于一个基础域(例如都是xxx.com,或是xxx.com.cn),使用同一协议(例如都是 http)和同一…
1.Jsonp.document.domain+iframe.window.name.window.postMessage.服务器上设置代理页面. 2.Jsonp(json with padding) 是 Json 的一种"使用模式",可以让网页从别的网站获取资料,即跨域读取数据,Jsonp的原理是动态插入script标签. 3.为什么我们从不同的域(网站)访问数据需要一个特殊的技术(jsonp)呢? 这是因为同源策略.协议,域名,端口相同,它是一种安全协议,指一段脚本只能读取来自同一…
1.什么是跨域? 跨域问题是由于javascript语言安全限制中的同源策略造成的. 2.什么是同源策略: 同源策略是指一段脚本只能读取来自同一来源的窗口和文档的属性,这里的同一来源指的是主机名.协议和端口号的组合.不同源的‘document’或脚本在没有明确授权的情况下,不能读写对方的资源. 同域要求两个站点同协议,同域名,同端口号. 对于javascript来说,当javascript被浏览器认为来自不同源时,请求被拒绝.注意:对当前页面来说,js文件存放的域并不重要,重要的是加载js的页面…