【转自】http://www.aoao.org.cn/blog/2007/11/window-open/
现在越来越多的浏览器有拦截弹出窗口的功能。广告弹出来给拦掉了就无所谓,要是客户在付款时给拦掉了可就不能乱算了。
Gmail的“哎呀”算是经典,可是,前天心云给出了更帅的提示=。= 记得打开浏览器拦截后 测试一下,在线阅读器里不知道代码会不会给过滤。。代码在下边,其实没什么技术含量滴。挖哈哈。。。
1
window._open
=
window.open;
2 window.open = function (sURL,sName,sFeatures,bReplace) {
3 if(sName==undefined){sName="_blank"};
4 if(sFeatures==undefined){sFeatures=""};
5 if(bReplace==undefined){bReplace=false};
6 var win=window._open(sURL,sName,sFeatures,bReplace);
7 if(!win){
8 alert('天啦!你的机器上竟然有软件拦截弹出窗口耶,好讨厌哦,人家不来了啦!快去掉嘛~~555~');
9 return false;
10 }
11 return true;
12}
2 window.open = function (sURL,sName,sFeatures,bReplace) {
3 if(sName==undefined){sName="_blank"};
4 if(sFeatures==undefined){sFeatures=""};
5 if(bReplace==undefined){bReplace=false};
6 var win=window._open(sURL,sName,sFeatures,bReplace);
7 if(!win){
8 alert('天啦!你的机器上竟然有软件拦截弹出窗口耶,好讨厌哦,人家不来了啦!快去掉嘛~~555~');
9 return false;
10 }
11 return true;
12}
=。= 重写window.open写了两天都没有想到更好的办法,参数要一个一个加,第四个参数,似乎只是为了不被back回去,例如:
1
window.open(
"
a.html
"
,
"
a
"
);
2 window.open( " b.html " , " a " , "" , true );
打开的b.html是没有后退可以按滴,
MSDN有说明 。
2 window.open( " b.html " , " a " , "" , true );