2012-04-04 24 views
0

這是我的代碼。我正在嘗試在iframe中加載網站。當網站被加載時,我想點擊iframe來選擇div id(我點擊的地方)如何在iframe中選擇div id onClick事件?

<iframe name="frameID" id="frameID" src="http://www.test.com" style="width:100%;height:400px;"></iframe> 

$(document).ready(function(){ 
$('#frameID').load(function(){ 


    $('#frameID').contents().bind("click", function() { 
     var a = $(this).id; 
     alert (a); 
     return false; 
    }); 
}); 

});

例如,如果我點擊了加載在iframe中的網站頁腳,我想顯示div id「footer」。

但是,我無法這樣做,它不斷返回我undefined。

+1

如果iframe處於不同的域中,則不能這樣做。 – 2012-04-04 16:05:57

+0

嗨,對不起,我沒有讓自己清楚的問題。 http://www.test.com只是一個例子。確切的網址應該是http://www.mysite.com/test.php - >我用PHP文件獲取內容,並在我的一個PHP文件(test.php)中回顯結果 - 它在同一個域中。 – Slay 2012-04-04 16:16:24

回答

3

你可以嘗試

$('#frameID').contents().find('body').on("click", "div", function() { 
    var a = this.id; 
    alert (a); 
    return false; 
}); 
+0

嘗試過,沒有工作。 – Slay 2012-04-04 16:12:13

+0

@DerekAng這僅適用於兩個iframe在同一個域上 – 2012-04-04 16:15:40

+0

嗨,它們在同一個域中。 http://www.mysite.com/index.php包含iframe。 http://www.mysite.com/test.php是我在哪裏獲得URL的內容並回應到。 – Slay 2012-04-04 16:18:02

1

無法訪問跨域的文檔對象的iframe內。即使它在你的本地工作,它也不會在網站上工作。

+0

嗨,對不起,我是jquery的新手,你是什麼意思從iframe內部跨域對象? – Slay 2012-04-04 16:11:03

+0

您正在嘗試加載您的代碼無法使用的網站。因此,由於瀏覽器端限制,您無法訪問該iframe內的對象。 – Zuuum 2012-04-04 16:12:14

+0

嗨,我用PHP來獲取頁面的文件內容並將其輸出到我的一個php文件中。 確切的網址應該是http://www.mysite.com/test.php – Slay 2012-04-04 16:13:33