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 相关文章推荐
鼠标放在图片上显示大图的JS代码
Mar 26 Javascript
jQuery当鼠标悬停时放大图片的效果实例
Jul 03 Javascript
简单实现兼容各大浏览器的js复制内容到剪切板
Sep 09 Javascript
有关jquery与DOM节点操作方法和属性记录
Apr 15 Javascript
javaScript事件学习小结(四)event的公共成员(属性和方法)
Jun 09 Javascript
vue2.0中click点击当前li实现动态切换class
Jun 21 Javascript
通过vue-cli来学习修改Webpack多环境配置和发布问题
Dec 22 Javascript
详解vue表单——小白速看
Apr 08 Javascript
微信公众平台 发送模板消息(Java接口开发)
Apr 17 Javascript
微信小程序项目总结之记账小程序功能的实现(包括后端)
Aug 20 Javascript
Vuex实现数据共享的方法
Dec 20 Javascript
javascript函数式编程基础
Sep 15 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
discuz Passport 通行证 整合笔记
2008/06/30 PHP
php笔记之:数据类型与常量的使用分析
2013/05/14 PHP
基于flush()不能按顺序输出时的解决办法
2013/06/29 PHP
PHP错误Allowed memory size of 67108864 bytes exhausted的3种解决办法
2014/07/28 PHP
php保存二进制原始数据为图片的程序代码
2014/10/14 PHP
PHP GD库相关图像生成和处理函数小结
2016/09/30 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
2016/11/05 PHP
PHP实现简单ajax Loading加载功能示例
2016/12/28 PHP
老生常谈PHP面向对象之解释器模式
2017/05/17 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
Laravel 前端资源配置教程
2019/10/18 PHP
子窗体与父窗体传值示例js代码
2013/08/01 Javascript
详谈nodejs异步编程
2014/12/04 NodeJs
javascript使用闭包模拟对象的私有属性和方法
2016/10/05 Javascript
js实现鼠标拖动功能
2017/03/20 Javascript
BootStrap Select清除选中的状态恢复默认状态
2017/06/20 Javascript
详解vue-router数据加载与缓存使用总结
2018/10/29 Javascript
Django 前后台的数据传递的方法
2017/08/08 Python
简单了解python模块概念
2018/01/11 Python
ipad上运行python的方法步骤
2019/10/12 Python
Pytorch之contiguous的用法
2019/12/31 Python
浅谈PyTorch的可重复性问题(如何使实验结果可复现)
2020/02/20 Python
HTML5移动端手机网站开发流程
2016/04/25 HTML / CSS
美丽的珠宝配饰:SmallThings
2019/09/04 全球购物
小学运动会表扬稿
2014/01/19 职场文书
幼儿园秋游感想
2014/03/12 职场文书
个人课题方案
2014/05/08 职场文书
结对共建工作方案
2014/06/02 职场文书
超市客服工作职责
2014/06/11 职场文书
2014国庆节幼儿园亲子活动方案
2014/09/16 职场文书
党的群众路线教育实践活动实施方案
2014/10/31 职场文书
个人借款协议书范本
2014/11/17 职场文书
2015年毕业生实习评语
2015/03/25 职场文书
2015年银行客户经理工作总结
2015/04/01 职场文书
2016年学习雷锋精神广播稿
2015/12/17 职场文书
使用CSS设置滚动条样式
2022/01/18 HTML / CSS