我使用jQuery在页面加载后5秒钟打开了一个促销窗口,例如。但是,对于在新窗口或新标签页中打开页面的人来说,这种效果就消失了。当他们到达我的标签页时,窗口将已经打开。
当人们实际上开始查看我的网站时,有什么办法可以触发这种情况?
我当时在考虑捕捉滚动或其他东西,但是人们并没有立即开始滚动,而且大多数人根本不会滚动。除此之外,我没有主意。
我不确定jQuery是否在这里提供解决方案... JavaScript?
谢谢。
最佳答案
以下应该可以解决问题..(jQuery)
<script type="text/javascript">
function initiatePopup(){
$(window).unbind('blur');
$(window).unbind('focus');
// do the popup
};
$(document).ready(
function(){
$(window).focus( initiatePopup ).blur( initiatePopup );
// your other functions should go from here on
}
);
</script>
根据OP请求进行[EDIT]。
编辑代码以使示例全包
[编辑2]
上面的代码已被再次编辑,因为我们也需要处理blur事件。因此,我们将弹出窗口的代码用于其他地方,以免在两个事件中都将其复制。
[编辑3]
如果要在以后创建参数时将其传递给弹出窗口,则将事件绑定行更改为
$(window).focus( function() { initiatePopup(params); } ).blur( function() { initiatePopup(params); );
并且当然更改initiatePopup以接受参数..