子框架内调用父页面函数,只需要写上window.parent就可以了。
这是父页面
<!-- 父页面 1.html -->
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>父页面</title>
<script src="js/jquery-1.9.1.min.js"></script>
<script>
function showMessage() {
alert('parent message');
}
</script>
</head>
<body>
<iframe src="2.html" id="ifr1"></iframe>
</body>
</html>
这是子框架
<!-- 子框架 2.html -->
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>子iframe</title>
<script src="js/jquery-1.9.1.min.js"></script>
<script>
function callParentMethod() {
window.parent.showMessage();
}
</script>
</head>
<body>
<button id=btn2 onclick="callParentMethod()">调用父页面的方法</button>
</body>
</html>
注意点:如果“父页面”和“子页面”不是同一个域名 可能与遇到如下错误
解决方法:不用本地访问,用域名访问即可。
参考文章:
页面嵌套iframe怎么调用父页面的方法,子页面回调父页面函数方法_iframe子页面调用父页面函数-优快云博客
SecurityError:阻止了具有原点的框架访问跨域框架_from accessing a cross-origin frame.-优快云博客