1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > iframe窗口高度自适应的实现方法【javascript】

iframe窗口高度自适应的实现方法【javascript】

时间:2021-05-04 05:43:32

相关推荐

iframe窗口高度自适应的实现方法【javascript】

web前端|js教程

iframe,窗口高度自适应

web前端-js教程

domainA 中有一个页面index.html,通过iframe嵌套了domainB中的一个页面other.html

由于other.html页面在iframe中显示,而且其页面内容会动态的增加或减少,现在需要去掉iframe的滚动条

由于javascript同源策略的限制,无法进行跨域操作,使得问题比较棘手

参考了一下网上的做法,引入了一个代理页面,或者叫做中介 agent.html,属于domainA

然后,在domainB 中的other.html中,再使用iframe将agent.html进行嵌套

好了,现在情况是这样的:

index.html 使用iframe 嵌套 other.html

other.html 使用iframe 嵌套 agent.html

之所以要引入第3个页面agent.html,就是为了遵守“同源策略”的规则,完成不同domain下参数的传递!

我们最终的目的是要去掉滚动条,又要保证被嵌入的页面内容全部得到显示

1.取得other.html页面的实际高度height

2.将height设置到其嵌入的iframe的src属性上

3.在agent.html中截取出所属iframe的src属性中的height值

下面的例子中,使用了一个技巧,避免了使用setInterval()不断去设置iframe的高度

做法是在iframe的src上,附加一个时间戳,让浏览器每次都重新加载agent.html

进而让agent.hml中的js函数invokeMethodInTopWindow()得到执行

domainA 中的2个html

index.html

114查询工具源码,vscode vue注释,ubuntu聚合,tomcat独立部署,sqlite怎么建表代码,收银插件 源码,饿了么开源的前端框架,爬虫克星对鹦鹉有害吗,php源码开发实战,站内seo优化流量,游戏源码网站的作用,自动制作网页源码,discuz 头部模板lzw

#{extends main.html /}

#{set title:Home /}

窗口自适应---绕开同源策略的限制,同时又利用同源策略,去掉iframe的滚动条,动态调整窗口的高度,让其能够显示被嵌套页面的所有内容

function resize(height) {

//alert(“resize”);

document.getElementsByName(“domainB”)[0].height=height;

}

agent.html

asp源码api,vscode识别指针和对象,ubuntu 系统路径,tomcat内存上不去,csdn反爬虫,php天气预报源码,天门便宜的seo推广价格,职称网站源码,dede utf8模板lzw

Insert title here

我是代理页面哦!

window.onload = invokeMethodInTopWindow;

function invokeMethodInTopWindow() {

//alert("调用同域下的函数,重置iframe的高度");

var domainA = document.parentWindow;

var realHeight = domainA.location.hash.split("#")[1];

//last step:调用最上层窗口的函数,重置iframe的高度

parent.parent.resize(realHeight);

//alert("realHeight:"+realHeight);

//alert(document.parentWindow.name);//获取容器所在窗口的名称 domainA

//error://alert(document.parentWindow.parent.name); //访问失败 :不能访问domainB

//alert(document.parentWindow.parent.parent.name);//最顶层window属于domainA,因此可以访问

}

//使用不同的时间戳设置iframe的src属性后,就不用使用setInterval()

//setInterval("invokeMethodInTopWindow()",100);

domainB中的other.html

php 视频源码下载,ubuntu 硬盘找不到,tomcat加虚拟目录,淘宝爬虫采集,php发展历程,济南抖音快手运营seo推广方法lzw

Insert title here

在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略)。

这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包含它的文档在同一域下的内容。

所谓同源是指,域名,协议,端口相同。

在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略)。

这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包含它的文档在同一域下的内容。

所谓同源是指,域名,协议,端口相同。

在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略)。

这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包含它的文档在同一域下的内容。

所谓同源是指,域名,协议,端口相同。

在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略)。

这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包含它的文档在同一域下的内容。

所谓同源是指,域名,协议,端口相同。

在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略)。

这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包含它的文档在同一域下的内容。

所谓同源是指,域名,协议,端口相同。

在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略)。

这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包含它的文档在同一域下的内容。

所谓同源是指,域名,协议,端口相同。

在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略)。

这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包含它的文档在同一域下的内容。

所谓同源是指,域名,协议,端口相同。

在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略)。

这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包含它的文档在同一域下的内容。

所谓同源是指,域名,协议,端口相同。

在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略)。

这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包含它的文档在同一域下的内容。

所谓同源是指,域名,协议,端口相同。

比如一个黑客程序,他利用IFrame把真正的银行登录页面嵌到他的页面上,当你使用真实的用户名,密码登录时,

他的页面就可以通过Javascript读取到你的表单中input中的内容,这样用户名,密码就轻松到手了。

比如一个黑客程序,他利用IFrame把真正的银行登录页面嵌到他的页面上,当你使用真实的用户名,密码登录时,

他的页面就可以通过Javascript读取到你的表单中input中的内容,这样用户名,密码就轻松到手了。

比如一个黑客程序,他利用IFrame把真正的银行登录页面嵌到他的页面上,当你使用真实的用户名,密码登录时,

他的页面就可以通过Javascript读取到你的表单中input中的内容,这样用户名,密码就轻松到手了。

比如一个黑客程序,他利用IFrame把真正的银行登录页面嵌到他的页面上,当你使用真实的用户名,密码登录时,

他的页面就可以通过Javascript读取到你的表单中input中的内容,这样用户名,密码就轻松到手了。

比如一个黑客程序,他利用IFrame把真正的银行登录页面嵌到他的页面上,当你使用真实的用户名,密码登录时,

他的页面就可以通过Javascript读取到你的表单中input中的内容,这样用户名,密码就轻松到手了。

比如一个黑客程序,他利用IFrame把真正的银行登录页面嵌到他的页面上,当你使用真实的用户名,密码登录时,

他的页面就可以通过Javascript读取到你的表单中input中的内容,这样用户名,密码就轻松到手了。

比如一个黑客程序,他利用IFrame把真正的银行登录页面嵌到他的页面上,当你使用真实的用户名,密码登录时,

他的页面就可以通过Javascript读取到你的表单中input中的内容,这样用户名,密码就轻松到手了。

比如一个黑客程序,他利用IFrame把真正的银行登录页面嵌到他的页面上,当你使用真实的用户名,密码登录时,

他的页面就可以通过Javascript读取到你的表单中input中的内容,这样用户名,密码就轻松到手了。

//隐藏或显示div

function btnClick() {

var div = document.getElementsByTagName(“div”);

for(var i in div) {

if(i<div.length)

div[i].style.display = (div[i].style.display == ‘none’) ? “block” : “none”;

}

}

function proxy(){

//alert(“btn click”);

//获取本页面的高度

var scrollHeight = document.documentElement.scrollHeight;

//alert(“滚动条高度:”+scrollHeight);

//将窗口的高度先设置到属于domainA的iframe的src属性上

var iframeDomainA = document.getElementsByName(“domainA”)[0];

//用domainA的一个页面作为代理,最终的目的是解决“同源策略”的限制

var url = “http://localhost:9000/agent”;

/**技巧:通过时间戳让浏览器每次重新加载iframe,这样每次都会自动设置被嵌套的iframe的高度,避免了使用setInterval()*/

iframeDomainA.src = url+ “? time=” + new Date().getTime() + “#” + scrollHeight ;

}

window.onload = proxy;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。