2016-03-03 64 views
4

我有一個沒有ID的iframe(由第三方生成)。 iframe嵌入到着陸頁上。當點擊iframe上的提交按鈕時,我想要關閉窗口或登錄頁面,因爲點擊提交按鈕時,它會打開一個新選項卡。關閉iframe按鈕點擊的父窗口

function() { 
    var iframe = document.getElementByTagName('iframe'); 
    var sbutton = document.getElementById("form_002b_ao_submit_href"); 
    iframe.sbutton.onclick = function() { 
     window.unload(); 
    } 
}; 

但它不會被觸發。

+0

嘗試document.getElementsByTagName.con tentWindow.document.getElementById(「submit_btn」) – seanyt123

+0

那麼最好做sbutton.onclick = function(){iframe.remove(); } – seanyt123

+0

讓我知道如果上面的作品,我會將其添加爲答案:) – seanyt123

回答

0
$('iframe').contents().find('body button').click(function (event) { 
    event.preventDefault(); 
    $('iframe').remove(); 
}); 
+2

你可以提供一個小文本陪代碼? – Suever

0

如果你想在點擊提交按鈕後關閉主窗口,那麼你可以做如下的事情。

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"); 

}); 
+0

問題是iframe沒有ID – JeVic

+0

@JeVic我從你的問題中收集了這個問題,我的JavaScript代碼並不依賴於使用id,我會從frame元素中刪除id以防止混淆。 –

+0

@JeVic我取消了對event.preventDefault()代碼的註釋,所以它現在可以在chrome和firefox的實例中使用。 –