zoukankan      html  css  js  c++  java
  • 如何根据iframe内嵌页面调整iframe高宽

    问题来自于工作的实例,我的一个域名A的页面,有个iframe,它可能内嵌了另一个域名B的页面,也可能内嵌域名C的页面,但是呢,B和C的页面大小是不一样的,特别是高是不一样的高,那么我如何设置iframe的height属性呢?

    这个本质就是跨域设置的问题。

    一种解法

    B和C提供一个jsonp接口,让有iframe的页面A来调用,这个jsonp接口的目的就是告诉A,我的页面的高宽各是多少。

    第二种解法

    1 首先给A页面的iframe设置个id,比如id=”aiframe”

    2 B和C页面内嵌一段html:

    <iframe src=”http://A.com/detail/iframe?height=200&weight=100”></iframe>

    3 其中http://A.com/detail/iframe A提供的一个接口,这个接口返回一段js

    <script type=”text/javascript”>parent.parent.getElementById(“aiframe”).style.height=”200px”</script>

    由于这个接口是动态的,这里返回的200是根据B或者C调用接口的参数返回的。

    再由于这个接口和有iframe的A是同域的,所以可以操作iframe的DOM属性。

    补充

    第二种解法可以做扩充完善:

    1 第2步中的B,C内嵌的html可以使用window.innerHeight来自动获取页面

    2 第2步中的内嵌html可以替换成一个A的js文件,这个文件做的事情就是append这个A

  • 相关阅读:
    买卖股票的最佳时机
    删除排序数组中的重复数字
    软件工程第五次作业:个人总结
    软件工程第二次作业——结对编程
    第一次软件工程作业补充plus
    第二次(四则运算,)
    我的第一次
    软件工程--个人总结
    软件工程第二次作业—结对编程
    软件工程第一次作业补充
  • 原文地址:https://www.cnblogs.com/yjf512/p/3456637.html
Copyright © 2011-2022 走看看