首頁 >web前端 >html教學 >iframe 自適應大小實作程式碼_HTML/Xhtml_網頁製作

iframe 自適應大小實作程式碼_HTML/Xhtml_網頁製作

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB原創
2016-05-16 16:42:461625瀏覽

頁域關係:

主頁a.html所屬域A:www.jb51.net
被iframe的頁b.html所屬域B:www.jb51.cn,假設位址:http:/ /www.jb51.cn/b.html

實現效果:

A域名下的頁面a.html中透過iframe嵌入B域名下的頁面b.html,由於b.html的寬度和高度是不可預測而且會變化的,所以需要a.html中的iframe自適應大小.

問題本質:

js對跨域iframe訪問問題,因為要控制a.html中iframe的高度和寬度就必須先讀取得到b.html的大小,A、B不屬於同一個域,瀏覽器為了安全性考慮,使js跨域訪問受限,讀取不到b .html的高度和寬度.

解決方案:

引入代理代理頁面c.html與a.html所屬相同域A,c.html是A域下提供好的中間代理頁面,假設c.html的地址:www.jb51.net/c.html,它負責讀取location.hash裡面的width和height的值,然後設定與它同域下的a.html中的iframe的寬度和高度.

代碼如下:

a.html代碼

首先a.html中透過iframe引入了b.html


b.html代碼

複製代碼
程式碼如下:





c.html程式碼

複製程式碼
程式碼如下:



a.html中的iframe就可以自適應為b.html的寬和高了.

其他一些類似js跨域操作問題也可以照這個思路去解決
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn