当前位置: 首页 > 图文教程 > 网络编程 > Javascript > window.open被浏览器拦截后的自定义提示效果代码

Javascript
Javascript解决常见浏览器兼容问题的12种方法
用AJAX返回HTML片段中的JavaScript脚本
javascript splice数组简单操作
jQuery 数据缓存data(name, value)详解及实现
javascript下动态this与动态绑定实例代码
javascript forEach函数实现代码
javascript bind绑定函数代码
javascript当onmousedown、onmouseup、onclick同时应用于同一个标签节点Element
jQuery DOM操作小结与实例
Extjs学习笔记之一 初识Extjs之MessageBox
Extjs学习笔记之二 初识Extjs之Form
Extjs学习笔记之三 extjs form更多的表单项
Extjs学习笔记之四 工具栏和菜单
EXT中xtype的含义分析
Extjs学习笔记之五 一个小细节renderTo和applyTo的区别
jQuery DOM操作 基于命令改变页面
让多个输入框中的内容同时变化的js代码
判断iframe是否加载完成的完美方法
IE iframe的onload方法分析小结
javascript new一个对象的实质

Javascript 中的 window.open被浏览器拦截后的自定义提示效果代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 264 ::
收藏到网摘: n/a

现在越来越多的浏览器有拦截弹出窗口的功能。广告弹出来给拦掉了就无所谓,要是客户在付款时给拦掉了可就不能乱算了。
Gmail的“哎呀”算是经典,可是,前天心云给出了更帅的提示=。= 记得打开浏览器拦截后 测试一下,在线阅读器里不知道代码会不会给过滤。。代码在下边,其实没什么技术含量滴。挖哈哈。。。
复制代码 代码如下:

window._open=window.open;
window.open=function(sURL,sName,sFeatures,bReplace){
if(sName==undefined){sName="_blank"};
if(sFeatures==undefined){sFeatures=""};
if(bReplace==undefined){bReplace=false};
var win=window._open(sURL,sName,sFeatures,bReplace);
if(!win){
alert('天啦!你的机器上竟然有软件拦截弹出窗口耶,好讨厌哦,人家不来了啦!快去掉嘛~~555~');
return false;
}
return true;
}

=。= 重写window.open写了两天都没有想到更好的办法,参数要一个一个加,第四个参数,似乎只是为了不被back回去,例如:
复制代码 代码如下:

window.open("a.html","a");
window.open("b.html","a","",true);
打开的b.html是没有后退可以按滴,MSDN有说明 。
Optional. Boolean that specifies whether the sURL creates a new entry or replaces the current entry in the window's history list. This parameter only takes effect if the sURL is loaded into the same window.
true sURL replaces the current document in the history list
false sURL creates a new entry in the history list.