jQuery计时器停止窗口更改而不是iframe焦点

时间:2016-04-08 19:46:08

标签: javascript jquery google-chrome iframe mozilla

我有一个PTC(付费点击)网站,该网站在iframe中显示广告客户网站。 现在我试图停止计时器,如果任何用户更改窗口,以便我强迫用户查看广告客户网站的特定时间。

当我使用

window.onblur & window.onfocus 

如果我的窗口中没有任何iframe,它可以正常工作。 但是当用户悬停到iframe时,window.onblur事件会运行,但我试图确保如果用户在窗口内或在iframe中没有任何反应。 只有在更换窗口或更换标签时,我们才能停止调整,这是我最好的尝试...

    var has_focus = false;
    var timer=0;

    function loading_time() {

        $('iframe').hover(function(){
            has_focus=true;
        });

        $('iframe').click(function(){
            has_focus=true;
        });


        if(has_focus==true){

            timer++;
            $('#ss').text(timer);
        }
            setTimeout("loading_time()", 1000);
    }

    window.onblur = function(){
        has_focus=false;
    }

    window.onfocus = function(){
        has_focus=true;
    }

    loading_time();

但是当用户转到iframe&点击焦点受损的任何输入字段&这段代码不起作用。 此代码也有一些错误,例如当用户悬停到iframe window.blur事件发生时&它与iframe.hover重叠,结果计时器可以停止。

我尝试了一切,但无法做出一个好的逻辑,这将帮助我检测用户在当前窗口或iframe&如果他改变窗口或标签,那么我可以停止计时器。

我想强迫用户查看特定时间的网站。

上面的代码有很多错误,有时候计时器停止,即使它正在观看iframe网站&有时候,即使我最小化窗口,计时器也不会停止。

所以现在我不知道我正在尝试的事情是否可能,因为

iframe.onfocus 

不能在jquery工作我认为如果这可以工作那么可能我可以做一个条件检查两者是焦点与否&然后我可以做任何我想做的事。

0 个答案:

没有答案