这两天,在网上搜索一些关于网站弹窗的代码。由于许多原因,会导致弹窗弹不出来。这儿,我大致将各种弹窗代码进行归类,然后说说对弹不出来的原因的分析。
弹窗代码类型:
1、直接弹代码
分析:直接弹代码放在 body 里面,以onload 和 unload 调用。这种代码,在浏览器执行 body 里就会出现提示窗口。现在一般不用了。
2、eval 事件监视的方式弹出,代码如下:
分析:这种方法弹出效果好,但是,测试过程中,安装360杀毒软件之后就弹不出来了。安装360安全卫士及其它的杀毒软件都可以。
4、以设置焦点的方式,通过cookie 记录,定时弹。代码如下:
function setCookie(name, value, expire) {
window.document.cookie = name + "=" + escape(value) + ((expire == null) ? "" : ("; expires=" + expire.toGMTString()));
}
function getCookie(Name) {
var search = Name + "=";
if (window.document.cookie.length > 0) { // if there are any cookies
offset = window.document.cookie.indexOf(search);
if (offset != -1) { // if cookie exists
offset += search.length; // set index of beginning of value
end = window.document.cookie.indexOf(";", offset) // set index of end of cookie value
if (end == -1)
end = window.document.cookie.length;
return unescape(window.document.cookie.substring(offset, end));
}
}
return null;
}
function register(name) {
var today = new Date();
var expires = new Date();
expires.setTime(today.getTime() + 1000*60*60*24);
setCookie("computer58", name, expires);
}
var exitURL="http://dn58.net";
function openWin() {
var c = getCookie("computer58");
if (c != null) {
return;
}
register("computer58");
var featureStr="";
featureStr="'top=0,left=0,width=800,height=600,toolbar=yes, menubar=no, scrollbars=no, resizable=no, location=no, status=no,center:no'";
self.focus();
var ExitWindow = window.open(exitURL,"", featureStr);
ExitWindow.focus();
}
openWin();
window.focus()
分析:以上代码,其实弹出代码还是windows.open ,意义并不大。只是通过cookie的方式,可以设置一天只弹一次的效果。
5、定义object 后弹出。代码如下:
// JavaScript Document
在需要调用的时候:
分析:以上弹出采用的是object定义后,再弹出,或许可以逃过一些杀毒软件的拦截。
以上弹窗代码效果,如果你在使用过程中遇到了什么问题,希望给我留言。
弹窗弹不出来的原因分析:
1、直接弹的代码,会被普通的IE拦截。
2、其它隐藏的方式,会被工具软件和杀毒软件拦截。
3、我自己试了,申请的虚拟主机,如果用临时域名,也弹不出来,不知道是什么原因。而用自己申请备案后的域名就可以弹出了。
4、以上弹窗代码可以在IE8.0 及其他许多浏览器下弹出。
文章来自: 电脑快车(http://dn58.net) 详文参考:http://www.dn58.net/htm/wangzhanjianshe/xuexifankui/1148.Htm