4

だから私は自分のページに次のようなIframeを持っています

<iframe width="640" height="360" frameborder="0" allowfullscreen="" src="http://www.youtube.com/xxxxxx">

これでクリックイベントをどのようにキャプチャできるか疑問に思っていました。Iframe には ID またはクラスが設定されていません

4

2 に答える 2

7

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();
于 2014-01-29T18:02:05.403 に答える
2

同じドメインに属していないiframeとやり取りすることはできません。これは、ブラウザのポリシーによって常に防止されています。

JavaScriptを使用したIframeへのクリックの検出を参照してください

于 2013-03-21T20:16:53.753 に答える