【发布时间】:2017-03-06 06:28:19
【问题描述】:
如何从其他框架访问框架的元素。例如:
Main.html:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<frameset rows="33%,33%,*">
<frame class="fra" src="frame1.html"/>
<frame class="fra" src="frame2.html"/>
</frameset>
</html>
frame1.html:
<html>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</HEAD>
<body>
<b><p id="para"> This is frame one.html </p></b>
</body>
</html>
frame2.html:
<html>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</HEAD>
<body>
<b><p id="para"> This is frame two.html </p></b>
<button id="but"> Get data </button>
<script>
$(document).ready(function(){
$("#but").click(function(){
alert(window.frames[0].document.getElementById('para'));
});
});
</script>
</body>
</html>
从 frame2 单击按钮后,我需要获取 frame1 中存在的“para”id 元素的数据。所以,我尝试访问如图所示的元素 以下。但它不起作用。
window.frames[0].document.getElementById('para')
它显示错误为:
未捕获的类型错误:无法读取未定义的属性“文档”
所以,window.frames[0] 本身未定义
.谁能帮我解决这个问题?
【问题讨论】:
-
由于安全性使用父访问父然后其他框架浏览器将阻止该操作,请参阅answer
标签: javascript jquery html frames