customer.jsp
页面,其中包含iframe
。iframe
有一个按钮。点击按钮,我需要访问customer.jsp
页面内的对话框。window.parent.document.getElementById('formDialog');
,但获得了null
值。答案 0 :(得分:6)
window.parent.document.getElementById('target');
两个资源都应该在同一个来源
答案 1 :(得分:2)
跨域资源无法在iframe和父文档之间进行通信。它只有在iframe和包含页面来自同一主机,端口和协议时才有效 - 例如http://example.com:80/1.html和http://example.com:80/2.html
Assuming both resources are from the same origin
在iframe中,window.parent引用父文档的全局对象,而不是文档对象本身。我相信您需要使用parent.document.getElementById('formDialog')
答案 2 :(得分:0)
您可以通过parent.document.getElementById('formDialog');
如果你得到null,你能够在那个Iframes父母的上下文中获得该元素吗?您是否引用了正确的ID和正确的父级?
答案 3 :(得分:0)
好像你忘记了代码中的某些内容。试试这个:
window.parent.window.document.getElementById('formDialog');
答案 4 :(得分:0)
试试这个。希望这可以帮助。我们假设我通过按钮点击iframe中的按钮来调用CallParentFunction。
function CallParentFunction(){
if (top && top.opener && top.opener.top) {
top.opener.document.getElementById('formDialog');
}
else {
top.document.getElementById('formDialog');
}
}