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比较文档位置
Apr 08 Javascript
js removeChild 障眼法 可能出现的错误
Oct 06 Javascript
js location.replace与location.reload的区别
Sep 08 Javascript
Javascript WebSocket使用实例介绍(简明入门教程)
Apr 16 Javascript
快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
Dec 01 Javascript
关于Angular2 + node接口调试的解决方案
May 28 Javascript
通过命令行生成vue项目框架的方法
Jul 12 Javascript
认识less和webstrom的less配置方法
Aug 02 Javascript
客户端(vue框架)与服务器(koa框架)通信及服务器跨域配置详解
Aug 26 Javascript
vue-cli3搭建项目的详细步骤
Dec 05 Javascript
微信小程序 数据缓存实现方法详解
Aug 26 Javascript
jquery检测上传文件大小示例
Apr 26 jQuery
大家未必知道的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
php格式化日期实例分析
2014/11/12 PHP
php利用scws实现mysql全文搜索功能的方法
2014/12/25 PHP
Laravel框架实现定时发布任务的方法
2018/08/16 PHP
swoole_process实现进程池的方法示例
2018/10/29 PHP
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
复选框全选与全不选操作实现思路
2013/08/18 Javascript
JS中类或对象的定义说明
2014/03/10 Javascript
jquery使用jxl插件导出excel示例
2014/04/14 Javascript
js实现用户注册协议倒计时的方法
2015/01/21 Javascript
jQuery实现按钮只点击一次后就取消点击事件绑定的方法
2015/06/26 Javascript
谈谈JavaScript中function多重理解
2015/08/28 Javascript
javascript实现下拉提示选择框
2015/12/29 Javascript
基于JavaScript实现TAB标签效果
2016/01/12 Javascript
JavaScript如何实现跨域请求
2016/08/05 Javascript
基于vue实现swipe轮播组件实例代码
2017/05/24 Javascript
Jquery中attr与prop的区别详解
2017/05/27 jQuery
es6+angular1.X+webpack 实现按路由功能打包项目的示例
2017/08/16 Javascript
JavaScript累加、迭代、穷举、递归等常用算法实例小结
2018/05/08 Javascript
在vue中使用v-bind:class的选项卡方法
2018/09/27 Javascript
vue动态删除从数据库倒入列表的某一条方法
2018/09/29 Javascript
使用Angular material主题定义自己的组件库的配色体系
2019/09/04 Javascript
vue 实现 rem 布局或vw 布局的方法
2019/11/13 Javascript
详细分析Node.js 多进程
2020/06/22 Javascript
element日历calendar组件上月、今天、下月、日历块点击事件及模板源码
2020/07/27 Javascript
彻底搞懂并解决vue-cli4中图片显示的问题实现
2020/08/31 Javascript
python实现给微信公众号发送消息的方法
2017/06/30 Python
解决django前后端分离csrf验证的问题
2019/02/03 Python
PyCharm无法引用自身项目解决方式
2020/02/12 Python
Pytorch .pth权重文件的使用解析
2020/02/14 Python
Keras实现DenseNet结构操作
2020/07/06 Python
HTML5的语法变化介绍
2013/08/13 HTML / CSS
英国屋顶用品和材料超市:Roofing Supplies UK
2019/08/24 全球购物
繁星春水读书笔记
2015/06/30 职场文书
2016学雷锋优秀志愿者事迹材料
2016/02/25 职场文书
优秀的商业计划书,让融资一步到位
2019/05/07 职场文书
MySQL中的引号和反引号的区别与用法详解
2021/10/24 MySQL