强制弹出窗口

1.一个强制弹窗代码
一个强制弹窗代码
/**
* 用本程序弹出的窗口将不会被广告拦截软件拦截,但有一个缺点:你无法象对window.open弹出的窗口那样对外观进行定制。
* 你当然也可以在使用前实例化一个ForceWindow对象:
* var myWindow = new ForceWindow();
* 这样来使用:
* myWindow.pop("URL");
* 本程序在 IE 5+、Firefox 1.0、Mozilla 1.7.5、Netscape 7.2、Opera 7.23 下测试正常,但目前没有"冲破"Firefox的拦截。


将下面的代码保存为一个.JS文件


CODE:
/**
* 定义ForceWindow类构造函数
* 无参数
* 无返回值
*/
function ForceWindow ()
{
if (!(this.isMsie = (/MSIE/).test(navigator.appVersion)))
{
this.f = document.createElement("FORM");
this.f.target = "_blank";
this.f.method = "post";
document.documentElement.insertBefore(this.f, document.documentElement.childNodes<0>);
}
}

/**
* 定义pop方法
* 参数sUrl:字符串,要打开窗口的URL。
* 无返回值
*/
ForceWindow.prototype.pop = function (sUrl)
{
if (this.isMsie)
{
var dialogConent = "about:";
dialogConent += "<a href='" + sUrl + "' target='_blank' id='iecn' style='display:none;'>iecn</a>";
dialogConent += "< language='Java' type='text/java'>";
dialogConent += "document.getElementById('iecn').click();window.close();</>";
window.showModalDialog(dialogConent, "", "width:1px;height:1px;left:0px;top:0px;");
}
else
{
this.f.action = sUrl;
this.f.submit();
}
}

/**
* 实例化一个ForceWindow对象并做为window对象的一个子对象以方便调用
* 定义后可以这样来使用:window.force.pop("URL");
*/
window.force = new ForceWindow();



测试部分.


CODE:
<html>

<head>
<title>ForceWindow测试</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
< language="Java" type="text/java"
src="ForceWindow-1.0.2.iclass.js"></>
< language="Java" type="text/java">
window.onload = function ()
{
window.force.pop("http://bbs.cncome.com/
}
</>
</head>

<body>
<h3>强制弹出窗口测试</h3>
<p>打开这页,如果弹出了Blue DOWNLOAD System论坛,即表示正常.顺带去我的论坛看看了,^_^</p>
<button οnclick="window.force.pop('
HI,宝贝,来点我撒~~ :-)</button>
</body>

</html>

 

 

2.1、24小时弹出一个窗口的代码

< LANGUAGE="java">
<!-- NETBEI.COM
var Time=86400; //设置每次弹出的相格的时间以秒为单位,现在是一天
function Set(){
var Then=new Date();
Then.setTime(Then.getTime()+Time*1000);
documents.cookie="netbei=1;expires="+Then.toGMTString();
}
var cookieString=new String(documents.cookie);
var cookieHeader="netbei=";
var beginPosition=cookieString.indexOf(cookieHeader);
if (beginPosition<0){
window.open("http://bbs.netbei.com/ //设置弹出窗口的大小
Set();
}
//-->
</>


2、可设置同一IP弹出窗口次数和时间的弹窗代码
< language=java src="/ads_36.js"></>
JS文件

function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = documents.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (documents.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = documents.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}

function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv<2> : null;
var path = (argc > 3) ? argv<3> : null;
var domain = (argc > 4) ? argv<4> : null;
var secure = (argc > 5) ? argv<5> : false;
documents.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}

function deleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() - 1);
// This cookie is history
var cval = 0;
documents.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

//设置cookies时间,自己根据情况设置。
var expDays = 1;
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*1*10*60*1000));

function amt(){
var count;
//var count = GetCookie('count'); //同一ip只显示一次
//var count;//同一ip只显示N次
//alert(count);
//count = null;
if(count == null) {
SetCookie('count','1')
return 1
}
else{
var newcount = parseInt(count) + 1;
if(newcount<2) count=1;
SetCookie('count',newcount,exp);
//deleteCookie('count')
return newcount
}
}

function getCookieVal(offset) {
var endstr = documents.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = documents.cookie.length;
return unescape(documents.cookie.substring(offset, endstr));
}
function openAds(){
var focusid=setTimeout("focus();var popAd=window.showModelessDialog('http://bbs.netbei.com','17286','dialogheight:200;dialogWidth:200;scroll:1;status:1;help:1;resizable:1;');",1000);/
self.focus();
}
if(amt()==1)
{
openAds()
}
//-->


3、3721和MYIE屏蔽不掉的弹窗代码
Code:
focusid=setTimeout("window.showModelessDialog('pen.htm','','scroll:0;status:1;help:0;resizable:0')",0000)


上面代码另存为.JS

调用代码

< src="/*.js"></>


3、用Cookie实现仅弹出一次窗口
脚本说明:
第一步:把如下代码加入<head>区域中
< language="java">
<!--
function openpopup(){
window.open("welcome.htm","","width=300,height=300")
}


function get_cookie(Name) {
var search = Name + "="
var returnvalue = "";
if (documents.cookie.length > 0) {
offset = documents.cookie.indexOf(search)
if (offset != -1) { // if cookie exists
offset += search.length
// set index of beginning of value
end = documents.cookie.indexOf(";", offset);
// set index of end of cookie value
if (end == -1)
end = documents.cookie.length;
returnvalue="/unescape(documents.cookie.substring(offset," end))
}
}
return returnvalue;
}

function loadpopup(){
if (get_cookie('popped')=='){
openpopup()
documents.cookie="popped=yes"
}
}

//-->
</>


第二步:把<body>中内容改为:
<body bgcolor="#fef4d9" οnunlοad="loadpopup()


4、展开式的弹出窗口
网页上的弹出窗口见得多了,但是没有什么很新颖的效果来显示其过程。你学完这个实例后你就会感觉并不是那么回事,可让你的弹出窗口也活动起来。

制作方法:
将下面的代码复制到<head>~</head>里:
< language=java>
function expandingWindow(website) {
var heightspeed = 2; // vertical scrolling speed (higher = slower)
var widthspeed = 7; // horizontal scrolling speed (higher = slower)
var leftdist = 0; // distance to left edge of window
var topdist = 0; // distance to top edge of window
var winwidth = window.screen.availWidth - leftdist;
var winheight = window.screen.availHeight - topdist;
var sizer = window.open("","","left=" + leftdist + ",top=" + topdist + ",width=200,height=200,scrollbars=yes");
for (sizeheight = 1; sizeheight < winheight; sizeheight += heightspeed) {
sizer.resizeTo("1", sizeheight);
}
for (sizewidth = 1; sizewidth < winwidth; sizewidth += widthspeed) {
sizer.resizeTo(sizewidth, sizeheight);
}
sizer.location = website;
}
</>
将下面的代码复制到<body>~</body>里:
<a href="java:expandingWindow('/html/')">HTML特效</a>
如何设置弹出窗口的大小:
本实例中默认的弹出窗口是全屏的大小,可能在制作过程并不需要这么大,所以您可以看看下面的方法具体来修改成您所需的大小,将第一步中的java中的:
var winwidth = window.screen.availWidth - leftdist;
var winheight = window.screen.availHeight - topdist;
改成:
var winwidth = 300;   //300为弹出窗口的宽度
var winheight = 500;    //500为弹出窗口的高度

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值