0
<iframe src="www.google.com" id="iFrame" ></iframe>

ユーザーがこのフレームまたはこのフレームの何かをクリックできるようにしたいのは、10 秒後だけです。

さらに、ユーザーがフレームをクリックしてフレームの高さを変更した後など、2 秒後に可能です。

<script>$("#button2").click(function(){
  $("#frameID").animate({
    height: "720px"
  }, 1500 ); // how long the animation should be
});

</script>

このスクリプトは、フレームをクリックしてから2秒後にのみ実行されます

4

2 に答える 2

1

これは非常に奇妙な使用例ですが、問題の解決策の一部を次に示します。

要素を CSSopacity: 0で iframe の上に重ねて、クリックされないようにします。10 秒後にエレメントを取り外します。

iframe が同じドメインの下にない場合、そうではないと思います- google.com を指している場合、 iframe 内のイベントをリッスンできませんcontentDocument。iframe は、親ドキュメントと同じドメインにある必要があります。またはwindow.postMessage、iframe のサイズを変更できるように、内部状態でイベントを送信する必要があります。

于 2013-02-01T13:13:10.317 に答える
0

まず、iframeを無効にします。

window.onload = function () {
    var iframes = document.getElementsByTagName('iframe');
        var iframe = iframes[0],
            d = document.createElement('div');
        d.style.width = iframe.offsetWidth + 'px';
        d.style.height = iframe.offsetHeight + 'px';
        d.style.top = iframe.offsetTop + 'px';
        d.style.left = iframe.offsetLeft + 'px';
        d.style.position = 'absolute';
        d.style.opacity = '0';
        d.style.filter = 'alpha(opacity=0)';
        d.style.background = 'black';
        d.setAttribute("id", "blockDiv");
        iframe.offsetParent.appendChild(d);
};

その後、10秒後に削除します

setTimeout(function() {
    $('#blockDiv').remove();
}, 10000);

「プラスが可能なので、たとえばユーザーがフレームをクリックしてフレームの高さを変更した後、2秒後に」

あなたの例ではこれは不可能です。ユーザーがiframe上にマウスを移動したときに幅を変更することができます。

于 2013-02-01T13:19:25.323 に答える