iframe与父页面、子页面的交互

父页面与子页面交互

父页面获取子页面的window对象:

//原生JS获取方式:var frameWin = document.getElementById("ifr").contentWindow;
或var frameWin = document.getElementsByTagName('iframe')[0].contentWindow;
或var frameWin = document.frames[frameName];//jQuery获取方式:var frameWin = $('#ifr')[0].contentWindow;123456789

父页面获取子页面的document、body对象:

//原生JS获取方式:var frameWin = document.getElementById("ifr").contentWindow;var frameDoc = frameWin.document;var frameBody = frameDoc.body;//jQuery获取方式:var frameWin = $('#ifr')[0].contentWindow;var $frameDoc = $(frameWin.document);var $frameBody = $frameDoc.find('body');123456789

父页面调用子页面的方法:

//原生JS调用方式:var frameWin = document.getElementById("ifr").contentWindow;
frameWin.method();  //method为子页面的方法//jQuery调用方式:var frameWin = $('#ifr')[0].contentWindow;
frameWin.method();  //method为子页面的方法1234567

子页面与父页面交互

子页面获取父页面的window对象:

var parentWin = window.parent;

子页面获取父页面的document、body对象:

//原生JS获取方式:
var parentWin = window.parent;var parentDoc = parentWin.document;
var parentBody = parentWin.body;
//jQuery获取方式:
var parentWin = window.parent;
var $parentDoc = $(parentWin.document);
var $parentBody = $parentDoc.find('body');

子页面调用父页面的方法:

var parentWin = window.parent;
parentWin.method();  //method为父页面的方法

转:https://blog.csdn.net/lihefei_coder/article/details/78635558


另一篇比较好的文章:https://www.jb51.net/article/89933.htm