javascript背投广告代码的完善


Posted in Javascript onApril 08, 2008

背投广告,既然被称为广告,那如何才能让广告主的钱花得实在,花得乐意呢?

我们可以增加判断,如果该弹出窗口被浏览器拦截,则只要用户点击页面就触发 window.open 事件,这样一般不会拦截,浏览器会认为这是用户的默认行为。

代码可编写如下:

var $E = YAHOO.util.Event;  
var adPopup;  
var popAd = function(sURL,sName,sFeatures,bReplace) {  
    if (adPopup) return;  
    if(sName == undefined) {  
        sName = '_blank';  
    };  
    if(sFeatures == undefined) {  
        sFeatures = '';  
    };  
    if(bReplace == undefined) {  
        bReplace = false;  
    };      adPopup = window.open(sURL,sTarget,sFeatures,bReplace);  
    adPopup.blur();  
    adPopup.opener.focus();  
    $E.removeListener(document.body, 'click', arguments.callee);  
}  
try {  
    popAd();  
} catch (e) {  
    $E.on(document.body, 'click', popAd);  
}

当然如果用户浏览器安装了拦截插件,那很有可能不会弹出(比如 Firefox 的 noscript 插件,就不允许任何弹出窗)。方法不是绝对的,也不是最好的,只是用最少的时间来做最效率的事情。

PS:可以通过模拟 form 提交的方式来弹出窗口,穿越性(相对于一般拦截弹窗的插件)很好,不过无法设置 sFeatures 参数内容

Javascript 相关文章推荐
javascript-TreeView父子联动效果保持节点状态一致
Aug 12 Javascript
JQUERY CHECKBOX全选,取消全选,反选方法三
Aug 30 Javascript
javascript 兼容所有浏览器的DOM扩展功能
Aug 01 Javascript
js实现的切换面板实例代码
Jun 17 Javascript
使用javascript实现简单的选项卡切换
Jan 09 Javascript
详谈jQuery操纵DOM元素属性 attr()和removeAtrr()方法
Jan 22 Javascript
基于javascript html5实现多文件上传
Mar 03 Javascript
iScroll.js 使用方法参考
May 16 Javascript
js移动端事件基础及常用事件库详解
Aug 15 Javascript
浅谈vuex 闲置状态重置方案
Jan 04 Javascript
详解mpvue中使用vant时需要注意的onChange事件的坑
May 16 Javascript
nuxt 路由、过渡特效、中间件的实现代码
Nov 06 Javascript
大家未必知道的Js技巧收藏
Apr 07 #Javascript
用JavaScript调用WebService的示例
Apr 07 #Javascript
HTML中Select不用Disabled实现ReadOnly的效果
Apr 07 #Javascript
javascript add event remove event
Apr 07 #Javascript
JS动画效果代码3
Apr 03 #Javascript
CSS常用网站布局实例
Apr 03 #Javascript
地址栏上的一段语句,改变页面的风格。(教程)
Apr 02 #Javascript
You might like
给多个地址发邮件的类
2006/10/09 PHP
定义select的边框颜色
2008/04/28 Javascript
JavaScript 工具库 Cloudgamer JavaScript Library v0.1 发布
2009/10/29 Javascript
checkbox全选/取消全选以及checkbox遍历jQuery实现代码
2009/12/02 Javascript
Jquey拖拽控件Draggable使用方法(asp.net环境)
2010/09/28 Javascript
查找Oracle高消耗语句的方法
2014/03/22 Javascript
jquery xMarquee实现文字水平无缝滚动效果
2014/04/29 Javascript
AngularJS入门教程(零):引导程序
2014/12/06 Javascript
js实现发送验证码后的倒计时功能
2015/05/28 Javascript
基于jquery实现复选框全选,反选,全不选等功能
2015/10/16 Javascript
JS动态增删表格行的方法
2016/03/03 Javascript
Backbone中View之间传值的学习心得
2016/08/09 Javascript
浅谈js数组和splice的用法
2016/12/04 Javascript
JavaScript Canvas绘制圆形时钟效果
2020/08/20 Javascript
nodejs+websocket实时聊天系统改进版
2017/05/18 NodeJs
JavaScript中如何判断一个值的类型
2017/09/15 Javascript
Express使用html模板的详细代码
2017/09/18 Javascript
vue2单元测试环境搭建
2018/05/24 Javascript
JS中Promise函数then的奥秘探究
2018/07/30 Javascript
echarts实现词云自定义形状的示例代码
2019/02/20 Javascript
JavaScript函数定义方法实例详解
2019/03/05 Javascript
基于vue实现一个禅道主页拖拽效果
2019/05/27 Javascript
Vue动态面包屑功能的实现方法
2019/07/01 Javascript
echarts大屏字体自适应的方法步骤
2019/07/12 Javascript
[36:02]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第一局
2016/02/28 DOTA
使用NumPy和pandas对CSV文件进行写操作的实例
2018/06/14 Python
对numpy中的where方法嵌套使用详解
2018/10/31 Python
一篇文章了解Python中常见的序列化操作
2019/06/20 Python
Python3操作Excel文件(读写)的简单实例
2019/09/02 Python
Python容器使用的5个技巧和2个误区总结
2019/09/26 Python
Selenium之模拟登录铁路12306的示例代码
2020/07/31 Python
python 获取字典特定值对应的键的实现
2020/09/29 Python
HTML5时代CSS设置漂亮字体取代图片
2014/09/04 HTML / CSS
Linux面试经常问的文件系统操作命令
2015/11/05 面试题
大学团支书的自我评价分享
2013/12/14 职场文书
2016暑期校本培训心得体会
2016/01/08 职场文书