A域名下的页面index.htm中内嵌了一个iframe页面,iframe内引用的是B域名的sub-index.htm页面,但是为了避免出
现在index.htm页面中出现滚动条,需要明确知道sub-index.htm页面的高度和宽度,可是sub-index.htm的页面内容是不可控的,可能会根据不同用户页面大小会不一样;问题就是如何把sub-index.htm页面的高度和宽度传递给index.htm页面?
具体解决:
1、在index.htm页面中声明一个js函数process(height, width);用来实现设置页面内iframe的高度和宽度;
2、
在sub-index.htm页面中再内嵌一个隐藏的iframe,iframe的src指向A域名下的页面ex.htm?height=xx&
width=yy,该页面没有任何内容,只是用来传递sub-index.htm页面加载完之后的宽度和高度这两个数据的,页面内js拿到request
中的参数之后直接调用parent.parent.process(height, width);完成对父页面宽度和高度的设置;
如图:
JavaScript 怎么跨域获取 iframe 中的内容
要解释这个问题,首先要解释两个技术点。每个“窗口”都是一个JS Runtime,即JS的运行时。如果只有一个窗口,那么就只有一个Runtime;如果一个窗口下面还有一个iframe,那么就有两个Runtime;以此类推。Runtime之间互操作(或者通信)是有跨域限制的。也就是说,如果这个窗口本身是a.baidu.com域名下的...
js如何操作iframe的跨域问题
具体解决:1、在index.htm页面中声明一个js函数process(height, width);用来实现设置页面内iframe的高度和宽度;2、在sub-index.htm页面中再内嵌一个隐藏的iframe,iframe的src指向A域名下的页面ex.htm?height=xx&width=yy,该页面没有任何内容,只是用来传递sub-index.htm页面加载完之后的宽度和高度这...
js对iframe内外(父子)页面进行操作
在JavaScript中,操作iframe主要涉及两种情况:在iframe内部控制外部代码,以及在父页面对子iframe的操作。关键的API包括iframe的contentWindow和contentDocument,它们分别获取iframe的window对象和document对象,类似于DOM节点的getElementsByxxx方法。获取iframe内容的方式有多种,可以通过iframe对象的Name属性结合window...
Vue使用ifream遇到的问题?怎么处理跨域呢?
对于 iframe 的高度自适应问题,还可以通过 JavaScript 来动态获取 iframe 内容的高度并调整 iframe 的高度。通常,可以通过 iframe.contentWindow 和 iframe.contentDocument 访问 iframe 的窗口和文档对象,进而获取 body 的 scrollHeight,以此作为 iframe 的高度。处理跨域问题时,需要在后端设置允许跨域请求...
iframe跨域嵌套问题
遇到一个棘手的问题:如何在奇葩网站中使用iframe嵌入友方部门页面,尽管他们设置的X-Frame-Options为'deny',但需确保只在我们域名内展示。X-Frame-Options有deny(禁止嵌套)、sameorigin(同一域名内)和allow-from(指定域名嵌套)三个选项,但友方部门的设置导致了无效的'allow-from'指令报错。错误提示...
iframe标签如何实现ajax跨域传参?
使用 iframe 实现 Ajax 跨域传参的方法主要是通过在不同域的页面间嵌入并利用 JavaScript 的能力。以下为具体步骤:首先,父窗口使用 JavaScript 动态创建一个 iframe,并设定其加载的目标页面以及相关参数。其次,iframe 内部的 JavaScript 代码获取需要传递的数据,通过 `postMessage()` 方法将数据发送回父...
iframe通信和跨域通信总结
获取DOM元素,先确保iframe加载完成,使用onload事件或document.readyState=="complete"判断。跨域通信则利用location对象的hash值传递数据。在父页面设置src后加data字符串,子页面通过监听location.href变化,获取数据进行处理。子页面向父页面传递数据,借助代理iframe,它和父页面保持同域,利用同域通信方式,...
javascript 跨域调用js文件问题...
三种方法实现js跨域访问 1.基于iframe实现跨域 基于iframe实现的跨域要求两个域具有aa.xx.com,bb.xx.com这种特点,也就是两个页面必须属于一个基础域(例如都是xxx.com,或是xxx.com.cn),使用同一协议(例如都是 http)和同一端口(例如都是80),这样在两个页面中同时添加document.domain,就可以...
如何用javascript 跨域获取iframe子页面的元素信息
\/\/Soft_Iframe是iframe的id var win = ifr.window || ifr.contentWindow;win.FilterSearch();\/\/是iframe里面的js方法,相当于执行子页面的内容。} <\/script> 然后在iframe里面显示的那个页面上写js方法:<script> function FilterSearch(){ \/\/这里面写你要获得当前页面元素的信息。} <\/script> ...
如何利用js解决跨域问题 利用header
1) cs1.html首先创建自动创建一个隐藏的iframe,iframe的src指向cnblogs.com域名下的cs2.html页面 2) cs2.html响应请求后再将通过修改cs1.html的hash值来传递数据 3) 同时在cs1.html上加一个定时器,隔一段时间来判断location.hash的值有没有变化,一旦有变化则获取获取hash值 注:由于两个页面不...