javascript跨域、iframe跨域访问

时间:2023-04-25 11:43:32

1、window 对象

浏览器会在其打开一个 HTML 文档时创建一个对应的 window 对象。但是,如果一个文档定义了一个或多个框架(即,包含一个或多个 frame 或 iframe 标签),浏览器就会为原始文档创建一个 window 对象,再为每个框架创建额外的 window 对象

2、contentWindow

contentWindow属性是指指定的frame或者iframe所在的window对象(frame/iframe在window里面)

3、获取frame/iframe跨域window对象

var win  = document.getElementById("iframeId").contentWindow;

var functionName = $("functionName",win);  functionName();  //获取frame/iframe跨域window下javascript对象的属性或者方法   //调用获取方法

4、获取frame/iframe跨域document对象

var doc  = document.getElementById("iframeId").contentWindow.document;

var ElementObject = $("#ElementId",doc);  //获取frame/iframe跨域document下html元素对象

5、parent

该变量指的是包含当前分割窗口的父窗口。如果在一个窗口内有分割窗口,而在其中一个分割窗口中又包含着分割窗口,则第2层的分割窗口可以用parent变量引用包含它的父分割窗口。

<html>
<body>
<iframe id="iframe-1"><html><body>
<script>
parent.test(); //调用父的方法
</script>
</body></html></iframe>
<script>
funtion test(){
alert(123);
}
</script>
</body>
</html>

 重新加载iframe

$('iframe').attr('src', $('iframe').attr('src'));