だから私は自分のページに次のようなIframeを持っています
<iframe width="640" height="360" frameborder="0" allowfullscreen="" src="http://www.youtube.com/xxxxxx">
これでクリックイベントをどのようにキャプチャできるか疑問に思っていました。Iframe には ID またはクラスが設定されていません
iframe を介して引き込まれたソーシャル メディア ボタンのクリックを追跡しなければならない状況に遭遇しました。ボタンをクリックすると、新しいウィンドウが開きます。これが私の解決策でした:
var iframeClick = function () {
var isOverIframe = false,
windowLostBlur = function () {
if (isOverIframe === true) {
// DO STUFF
isOverIframe = false;
}
};
jQuery(window).focus();
jQuery('#iframe').mouseenter(function(){
isOverIframe = true;
console.log(isOverIframe);
});
jQuery('#iframe').mouseleave(function(){
isOverIframe = false;
console.log(isOverIframe);
});
jQuery(window).blur(function () {
windowLostBlur();
});
};
iframeClick();
同じドメインに属していないiframeとやり取りすることはできません。これは、ブラウザのポリシーによって常に防止されています。
JavaScriptを使用したIframeへのクリックの検出を参照してください