2016-05-04 27 views
1

HTMLページを含むiframeがあります。クリックした親アイテムのクラスを取得したいと思います。
これは私のiframです:iframe内でクリックしたタグの親を取得

<iframe src="//example.com" id="frame" ></iframe> 

これはCSSです:

$(document).ready(function() { 
    var iframe = document.getElementById('frame'); 
    var innerDoc = iframe.contentDocument || iframe.contentWindow.document.body; 
    $(innerDoc).on('click', function(e) { 
    var thisID = ((e.target).id); 
    alert(thisID); 
    alert(innerDoc.getElementById(thisID)); 


    $(thisID).click(function() { 
     var Allclassnames = $(thisID).parent(); 
     console.log(Allclassnames); 
    }); 
    }); 
}); 

が、それは項目がそれを修正するonly.howクリックして返します。

#frame{ width:380px; height:420px;} 

これは私のスクリプトです?

デモ:DEMO

NOTE:これらは私が私のHTMLは、私のウェブサイトと同じドメインの内部にあることを確信しているこのreason.butのために働いていないDEMO以下同じdomain.maybeです。 ありがとうございます。

答えて

1

追加サンドボックスは

<script> 
$('#frame').load(function() { 
    $('#frame').contents().on('click', function(e) { 
    var thisID = ((e.target).id); 
    alert(thisID); 
    alert($('#'+thisID,this)); 
     $('#'+thisID,this).click(function() { 
     var Allclassnames = $(this).parent(); 
     console.log(Allclassnames); 
     }); 
    }); 
}); 
</script> 

を確認してください

にはiframe

<iframe src="/example.html" id="frame" sandbox="allow-scripts allow-same-origin"></iframe> 

変更スクリプトに属性をそのフレームドキュメント内のすべての要素。いくつかのidを持っていれば、alert()はエラーを投げるかもしれません。

iframeのコンソールメッセージを表示するには、スコープのドロップダウンからスコープを変更する必要があります。これはChromeの開発ツールのフィルタアイコンのほかにコンソールタブにあります。

関連する問題