请问如何在一个iFrame中嵌套并显示另一个iFrame

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问如何在一个iFrame中嵌套并显示另一个iFrame相关的知识,希望对你有一定的参考价值。

我的代码是:
<iframe name="outerIframe">
<iframe name="innerIframe">

</iframe>
</iframe>

(其他参数省略)
这样嵌套对吗?为什么只显示outerIframe?要怎么才能把innerIframe显示出来?

框架的嵌套是通过页面实现的,而不是两个IFRAME标签嵌套写在一起就能实现的.你需要outerIframe所加载的页面中插入IFRAME标签来嵌入另一个页面.追问

我是想获取一个iFrame的URL然后用来加载另一个iFrame。但我的文件只是个本地运行的html,不能让两个iFrame相互传递参数。我想是否能建立起两个iFrame的父子关系来尝试让他们传递参数。其实最终目的是想得到URL,请问有何高见。谢谢!

追答

跨域无解.JS只能访问与当前页面同域名的框架中的内容,不同子域名的要通过domain属性设置允许访问的范围.域名完全不同的无法访问.

追问

那请问如果在同一个iFrame中操作可以吗?给outerFrame生成一个child,然后把outerFrame的URL传递给这个child。

追答

看不懂你要表达的意思.如果仅仅是使IFRAME跳转到指定URL,可以直接向IFRAME的SRC属性赋值.但如果你要改变该框架中的内容,就必须同域,否则无法实现.

追问

不好意思,是有点绕。我是想获取一个URL中一个动态的数字(这个数字在每次点击同一个连接时生成,并且每次都不一样),然后把这个数字连接到另一个URL后面再加载这个新的URL。两个URL都在同一域名下。

追答

同域的话,可以直接通过框架页的window.location.search来取得URL参数,通过JS分析取出你想要的部分然后再拼接成新的URL赋值给另一个iframe的src属性,其实整个过程都不算复杂.但如果你是要通过一个本地页面来实现这一操作,这本身就是跨域操作.如果你可以将这个页面上传到你要操作的那两个页的空间中,问题就简单得多了.

参考技术A 你这么写有什么意义呢,你可以把里面的框架写在要引入的页面里面不就可以了。追问

只是写一个在本地运行的html文件,iFrame中的内容是别的网站,我无法控制。

追答

你是想把引入别人的网站中加上自己的内容?

用iframe框架调用了另一个页面,如何显示指定的某一块区域呢

我在自己的页面(A页面)里面弄了个200*200的框,框里用iframe调用了另一个页面(B页面)的内容,但是显示出来的效果是B页面左上角内容,如何让他显示出来某一块我指定的区域呢,例如显示B页面右侧的一块,该用什么代码呢

谢谢啦先

marginwidth:网页中内容在表格右侧的预留宽度;例如:marginwidth="20",单位是pix,下同。marginheight:网页中内容在表格顶部预留的高度;
hspace:网页右上角的的横坐标;
vspace:网页右上角的纵坐标;
frameborder:是否显示边缘;填"1"表示"是",填"0"表示"否"
scrolling:是否出现滚动条;填"1"表示"是",填"0"表示"否"
举例:运行代码框
<div align="left">
<table border="1" width="589"id="table1">
<tr><td>
<IFRAME name=I1 src="http://www.sohu.com/" marginwidth=-100 marginheight=100 vspace=-250 hspace=-760 frameBorder=0 width=2000 scrolling=no height=700 align="left"></IFRAME>
</td></tr>
</table>
</div>
参考技术A 不跨域的话,可以试试改变框架内页面的scrollTop和scrollLeft属性,或是试试调用你要显示元素的scrollIntoView方法. 参考技术B 这个问题我专门研究过,应该是实现不了的,无论是第iframe设置style设置padding或者margin都无效。

以上是关于请问如何在一个iFrame中嵌套并显示另一个iFrame的主要内容,如果未能解决你的问题,请参考以下文章

frame的用法

用iframe嵌套的页面会自动跳转覆盖父页面,请问如何解决?

用iframe框架调用了另一个页面,如何显示指定的某一块区域呢

javascript中如可控制iframe的滚动条位置

javascript中如可控制iframe的滚动条位置

页面跳转如何进入一个嵌套在Iframe中的页面中?