js獲取iframe和父級之間元素,方法、屬,獲取iframe的高度自適應iframe高度
1、在父頁面 獲取iframe子頁面的元素
(在同域的情況下 且在http://下測試,且最好在iframe onload載入完畢後 dosomething...)
js寫法
a、同過contentWindow獲取
也有用contentDocument 獲取的 但是contentWindow 相容各個瀏覽器,可取得子視窗的 window 物件。
contentDocument Firefox 支援,> ie8 的ie支援。可取得子視窗的 document 物件。
獲取方法
- var frameWin=document.getElementById('iframe').contentWindow; //window物件
- var frameDoc=document.getElementById('iframeId').contentWindow.document //document物件
- var frameBody=document.getElementById('iframeId').contentWindow.document.body //body物件
還有iframe.contentDocument 方法 //但是ie 6,7不支援
b、通過frames[]陣列獲取
(但是必須在ifram框架載入完畢後獲取,iframe1是iframe的name屬性)
- document.getElementById('iframId').onload=function(){
- var html= window.frames["name屬性"].document.getElementById('iframe中的元素的id').innerHTML;
- alert(html)
- }
- 如果要獲取iframe中的iframe
- document.getElementById('iframId').onload=function(){
- var html= window.frames["name屬性"].frames["name屬性"].document.getElementById('iframe中的元素的id').innerHTML;
- alert(html)
- }
jq寫法:必須在iframe載入完畢以後才有效
- a、$("#iframe的ID").contents().find("#iframe中的控制元件ID").click();//jquery 方法1 必須在iframe載入完後才有效
- b、$("#iframe中的控制元件ID",document.frames("frame的name").document)//方法2 <span style="font-family: Arial, Helvetica, sans-serif;">必須在iframe載入完後才有效</span>
2、在iframe中獲取父級頁面的id元素
(在同域的情況下且在http://下測試,最好是 iframe記載完畢再dosomething)
js寫法:
獲取父級中的objid- var obj=window.parent.document.getElementById('objId')
jq寫法:
- $('#父級視窗的objId', window.parent.document).css('height':'height); // window可省略不寫
- 或者
- $(window.parent.document).find("#objId").css('height':'height); // window可省略不寫
3、父級窗體訪問iframe中的屬性
(經測試,在ie中最好用原生的onload事件,如果用jq的load把iframe載入完畢 有時候方法呼叫不到 多重新整理才有效果)
- a、 用contentWindow方法
- document.getElementById('iframe1').onload=function(){
- this.contentWindow.run();
- }
- b、用iframes[]框架集陣列方法
- document.getElementById('iframe1').onload=function(){
- frames["iframe1"].run();
- }
===================================
4、在iframe中訪問父級窗體的方法和屬性 //window 可以不寫
- window.parent.attributeName; // 訪問屬性attributeName是在父級視窗的屬性名
- window.parent.Func(); // 訪問屬性Func()是在父級視窗的方法
5、讓iframe自適應高度
- $('#iframeId').load(function() { //方法1
- var iframeHeight = Math.min(iframe.contentWindow.window.document.documentElement.scrollHeight, iframe.contentWindow.window.document.body.scrollHeight);
- var h=$(this).contents().height();
- $(this).height(h+'px');
- });
- $('#iframeId').load(function() { //方法2
- var iframeHeight=$(this).contents().height();
- $(this).height(iframeHeight+'px');
- });
6、iframe的onload的事件,
主流瀏覽器都支援 iframe.onload=function....
在ie下需要用attachEvent繫結事件
7、在iframe所引入的網址寫入防釣魚程式碼
if(window!=window.top){
window.top.location.href=window.location.href;
}
window.top.location.href=window.location.href;
}
8、獲取iframe的高度
iframe.contentWindow.document.body.offsetHeight;
轉自:https://blog.csdn.net/kongjiea/article/details/38870399
相關文章
- 如何獲取跨域iframe高度跨域
- html iframe高度自適應HTML
- iframe的操作-Js/Jquery獲取iframe中的元素JSjQuery
- iframe之間通訊問題及iframe自適應高度問題
- iframe 跨域高度自適應跨域
- iframe自適應高度的外掛
- iframe高度自適應解決方案
- jquery 實現iframe 自適應高度jQuery
- 自動載入的iframe高度自適應
- iframe高度自適應程式碼例項
- <iframe>高度自適應程式碼例項
- javascript在iframe子元素中獲取父視窗元素JavaScript
- jquery實現的iframe高度自適應效果jQuery
- jQuery如何獲取iframe中的元素jQuery
- 使用jQuery獲取iframe元素的value屬性值jQuery
- 真正解決iframe高度自適應問題
- javascript實現的iframe高度自適應程式碼JavaScript
- js獲取操作iframe子頁面中元素JS
- jquery獲取低程式碼平臺iframe巢狀的父級元素指定元素jQuery巢狀
- iframe高度處理
- jquery實現的iframe高度自適應程式碼例項jQuery
- jQuery iframe子視窗獲取父視窗元素簡單介紹jQuery
- javascript 獲取iframe中內容JavaScript
- ajax應用實現iframe高度自適應程式碼例項
- 原生javascript實現的iframe高度自適應程式碼例項JavaScript
- 關於父視窗獲取跨域iframe子視窗中的元素跨域
- Iframe嵌入跨域頁面高度自適應實現詳解跨域
- 最新Iframe全瀏覽器相容自適應高度解決方案瀏覽器
- js如何獲取元素的高度和寬度JS
- iOS 精準獲取webView內容高度並自適應高度iOSWebView
- js實現父頁面獲取iframe子頁面內容程式碼JS
- iframe 高度設定為0時還有佔位_iframe佔位
- 獲取iframe標籤的src屬性值程式碼例項
- iOS 【終極方案】精準獲取webView內容高度,自適應高度iOSWebView
- iOS【終極方案】精準獲取webView內容高度,自適應高度iOSWebView
- Iframe內部頁面高度賦值於其父頁面的Iframe標籤賦值
- jQuery如何獲取元素的寬度和高度jQuery
- [DIV+CSS] IE6浮出層穿透解決方案中的iframe高度自適應CSS穿透