单击 iframe 按钮关闭父窗口
Posted
技术标签:
【中文标题】单击 iframe 按钮关闭父窗口【英文标题】:Close parent window on iframe button click 【发布时间】:2016-06-16 14:01:56 【问题描述】:我有一个没有 ID 的 iframe(由第三方生成)。 iframe 嵌入在登录页面上。当点击 iframe 上的提交按钮时,我希望关闭窗口或登录页面,因为点击提交按钮时,它将打开一个新选项卡。
function()
var iframe = document.getElementByTagName('iframe');
var sbutton = document.getElementById("form_002b_ao_submit_href");
iframe.sbutton.onclick = function()
window.unload();
;
但它不会被触发。
【问题讨论】:
尝试 document.getElementsByTagName.contentWindow.document.getElementById("submit_btn") 那么最好做 sbutton.onclick = function() iframe.remove(); 让我知道以上是否有效,我会将其添加为答案:) 你试过“parent.unload();”吗? 你的意思是这样吗? sbutton = document.getElementsByTagName.contentWindow.document.getElementById("#form_002b_ao_submit_href"); sbutton.onclick = function() iframe.remove(); 【参考方案1】:$('iframe').contents().find('body button').click(function (event)
event.preventDefault();
$('iframe').remove();
);
【讨论】:
你能提供一点文字来附上代码吗?【参考方案2】:如果您想在单击提交按钮后关闭主窗口,则可以执行以下操作。
Live Preview
Link to the test page that is loaded in the iframe
HTML
<iframe src="http://s.codepen.io/larryjoelane/debug/dMoqPL"></iframe>
JavaScript
//select the iframe element without an id
var submitButton = $("iframe").contents().find("#submit_button");
submitButton.on("click", function(event)
//if you need to prevent default actions(form submit for example)
event.preventDefault();
//close the window
window.close();
//debugging only
//alert("iframe submit button click event fired");
);
【讨论】:
问题是 iframe 没有 ID @JeVic 我从你的问题中了解到,我的 javascript 代码根本不依赖于使用 id 我将从框架元素中删除 id 以防止任何混淆。 @JeVic 我取消了 event.preventDefault() 代码的注释,因此它现在应该可以在 chrome 和 firefox 的实时示例中使用。 @JeVic 我的实时更新停止工作,这可能与 codepen 和 iframe 的使用有关。您现在必须在自己的机器上对其进行测试。让我知道您是否有效或需要更多帮助。以上是关于单击 iframe 按钮关闭父窗口的主要内容,如果未能解决你的问题,请参考以下文章