本节内容:
各种种类的js弹窗代码
1、超完美弹窗代码
功能:5小时弹一次+背后弹出+自动适应不同分辩率+准全屏显示
代码:
2.最基本的弹出窗口代码
因为着是一段&#106avascripts代码,所以它们应该放在<script language="&#106avascript">标签和</script>之间。<!-- 和 -->
是对一些版本低的浏览器起作用,在这些老浏览器中不会将标签中的代码作为文本显示出来。要养成这个好习惯啊。
window.open ('page.html') 用于控制弹出新的窗口page.html,如果page.html不与主窗口在同一路径下,前面应写明路径,绝对路径
(http://)和相对路径(../)均可。用单引号和双引号都可以,只是不要混用。
这一段代码可以加入html的任意位置,<head>和</head>之间可以,<body>间</body>也可以,越前越早执行,尤其是页面代码长,又想
使页面早点弹出就尽量往前放。
3、经过设置后的弹出窗口
弹出窗口的设置。只要再往上面的代码中加一点东西即可。
定制这个弹出的窗口的外观,尺寸大小,弹出的位置以适应该页面的具体情况。
参数解释:
4、用函数控制弹出窗口
完整的代码。
这里定义了一个函数openwin(),函数内容就是打开一个窗口。在调用它之前没有任何用途。
怎么调用呢?
方法一:<body > 浏览器读页面时弹出窗口;
方法二:<body > 浏览器离开页面时弹出窗口;
方法三:用一个连接调用:
<a href="#" _fcksavedurl=""#"" _fcksavedurl=""#"" _fcksavedurl=""#"" &#111nclick="openwin()">打开一个窗口</a>
注意:使用的“#”是虚连接。
方法四:用一个按钮调用:
5、时弹出2个窗口
对源代码稍微改动一下:
为避免弹出的2个窗口覆盖,用top和left控制一下弹出的位置不要相互覆盖即可。最后用上面说过的四种方法调用即可。
注意:2个窗口的name(newwindows和newwindow2)不要相同,或者干脆全部为空。ok?
6、主窗口打开文件1.htm,同时弹出小窗口page.html
如下代码加入主窗口<head>区:
7、弹出的窗口之定时关闭控制
再对弹出的窗口进行一些控制,效果就更好了。如果我们再将一小段代码加入弹出的页面(注意是加入到page.html的html中,
可不是主页面中,否则...),让它10秒后自动关闭是不是更酷了?
首先,将代码加入page.html文件的<head>区:
然后,再用<body > 这一句话代替page.html中原有的<body>这一句就可以了。(这一句话千万不要忘记写啊!这一句的作用是调用关闭
窗口的代码,10秒钟后就自行关闭该窗口。)
8、在弹出窗口中加上一个关闭按钮
9、内包含的弹出窗口,一个页面两个窗口
上面的例子都包含两个窗口,一个是主窗口,另一个是弹出的小窗口。
通过下面的例子,你可以在一个页面内完成上面的效果。
看看 openwindow.document.write()里面的代码不就是标准的html吗?只要按照格式写更多的行即可。千万注意多一个标签或少一个标
签就会出现错误。记得用openwindow.document.close()结束啊。
10、终极应用--弹出的窗口之cookie控制
回想一下,上面的弹出窗口虽然酷,但是有一点小毛病(沉浸在喜悦之中,一定没有发现吧?)比如你将上面的脚本放在一个需要频繁经
过的页面里(例如首页),那么每次刷新这个页面,窗口都会弹出一次,是不是非常烦人?:-(有解决的办法吗?yes! ;-) follow me.
我们使用cookie来控制一下就可以了。
首先,将如下代码加入主页面html的<head>区:
然后,用<body >(注意不是openwin而是loadpop啊!)替换主页面中原有的<body>这一句即可。你可以试着刷新一下这个页面或重新
进入该页面,窗口再也不会弹出了。真正的pop-only-once!
强力弹窗代码:
<script language="&#106avascript">
var paypopupurl = "http://jb200.com";
var usingactivex = true;
function blockerror(){return true;}
window.&#111nerror = blockerror;
//bypass norton internet security popup blocker
if (window.symrealwinopen){window.open = symrealwinopen;}
if (window.ns_actualopen) {window.open = ns_actualopen;}
if (typeof(usingclick) == 'undefined') {var usingclick = false;}
if (typeof(usingactivex) == 'undefined') {var usingactivex = false;}
if (typeof(popwin) == 'undefined') {var popwin = null;}
if (typeof(poped) == 'undefined') {var poped = false;}
if (typeof(paypopupurl) == 'undefined') {var paypopupurl = "http://jb200.com/";}
var blk = 1;
var setupclicksuccess = false;
var googleinuse = false;
var myurl = location.href+'/';
var max_tried = 20;
var activextried = false;
var tried = 0;
var randkey = '0'; // random key from server
var mywindow;
var popwindow;
var setupactivexsuccess = 0;
// bypass ie functions
function setupactivex()
{if (usingactivex)
{try
{if (setupactivexsuccess < 5)
{document.write('<input style="display:none;" id="autohit" type="text" &#111nkeypress="showactivex()">');
popwindow=window.createpopup();
popwindow.document.body.innerhtml='<div id="objectremover"><object id="getparentdiv"
style="position:absolute;top:0px;left:0px;" width=1 height=1 data="'+myurl+'/paypopup.html"
type="text/html"></object></div>';
document.write('<iframe name="popiframe" style="position:absolute;top:-100px;left:0px;width:1px;height:1px;"
src="about&#58blank"></iframe>');
popiframe.document.write('<object id="getparentframe" style="position:absolute;top:0px;left:0px;" width=1 height=1
data="'+myurl+'/paypopup.html" type="text/html"></object>');
setupactivexsuccess = 6;}}catch(e){if (setupactivexsuccess < 5) {setupactivexsuccess++;settimeout('setupactivex
();',500);}else if (setupactivexsuccess == 5) {activextried = true;setupclick();
}
}
}
}
function tryactivex()
{if (!activextried && !poped)
{if (setupactivexsuccess == 6 && googleinuse && popwindow && popwindow.document.getelementbyid('getparentdiv') &&
popwindow.document.getelementbyid('getparentdiv').object && popwindow.document.getelementbyid
('getparentdiv').object.parentwindow)
{
mywindow=popwindow.document.getelementbyid('getparentdiv').object.parentwindow;
}
else if (setupactivexsuccess == 6 && !googleinuse && popiframe && popiframe.getparentframe &&
popiframe.getparentframe.object && popiframe.getparentframe.object.parentwindow)
{
mywindow=popiframe.getparentframe.object.parentwindow;popiframe.location.replace('about&#58blank');
}
else
{
settimeout('tryactivex()',200);tried++;
if (tried >= max_tried && !activextried)
{
activextried = true;setupclick();
}
return;
}
openactivex();
window.windowfired=true;self.focus();
}
}
function openactivex()
{if (!activextried && !poped)
{if (mywindow && window.windowfired)
{
window.windowfired=false;
document.getelementbyid('autohit').fireevent("&#111nkeypress",(document.createeventobject().keycode=escape
(randkey).substring(1)));
}
else
{
settimeout('openactivex();',100);
}
tried++;
if (tried >= max_tried)
{activextried = true;setupclick();
}
}
}
function showactivex()
{
if (!activextried && !poped)
{if (googleinuse)
{window.dachildobject=popwindow.document.getelementbyid('objectremover').children(0);
window.dachildobject=popwindow.document.getelementbyid('objectremover').removechild(window.dachildobject);
}
newwindow=mywindow.open(paypopupurl,'abcdefg');
if (newwindow)
{
newwindow.blur();
self.focus();activextried = true;poped = true;
}
else
{
if (!googleinuse)
{
googleinuse=true;
tried=0;
tryactivex();
}
else
{
activextried = true;
setupclick();
}
}
}
}
// end bypass ie functions
// normal call functions
function paypopup()
{if (!poped)
{if(!usingclick && !usingactivex)
{popwin = window.open(paypopupurl,'abcdefg');
if (popwin)
{poped = true;
}
self.focus();
}
}
if (!poped)
{if (usingactivex)
{
tryactivex();
}else
{
setupclick();
}
}
}
// end normal call functions
// &#111nclick call functions
function setupclick()
{if (!poped && !setupclicksuccess)
{
if (window.event)
document.captureevents(event.click);
prepaypop&#111nclick = document.&#111nclick;
document.&#111nclick = gopop;self.focus();
setupclicksuccess=true;
}
}
function gopop()
{if (!poped)
{
popwin = window.open(paypopupurl,'abcdefg');
if (popwin)
{
poped = true;
}
self.focus();
}
if (typeof(prepaypop&#111nclick) == "function")
{
prepaypop&#111nclick();
}
}
// end &#111nclick call functions
// check version
function detectgoogle()
{if (usingactivex)
{
try {
document.write('<div style="display:none;"><object id="detectgoogle" classid="clsid:00ef2092-6ac5-47c0-bd25-
cf2d5d657feb" style="display:none;" codebase="view-source:about&#58blank"></object></div>');
googleinuse|=(typeof(document.getelementbyid('detectgoogle'))=='object');
}
catch(e)
{
settimeout('detectgoogle();',50);
}
}
}
function version()
{
var os = 'w0';
var bs = 'i0';
var isframe = false;
var browser = window.navigator.useragent;
if (browser.indexof('win') != -1)
{
os = 'w1';
}
if (browser.indexof("sv1") != -1)
{
bs = 'i2';
}
else if (browser.indexof("opera") != -1)
{
bs = "i0";
}
else if (browser.indexof("firefox") != -1)
{
bs = "i0";
}
else if (browser.indexof("microsoft") != -1 || browser.indexof("msie") != -1)
{
bs = 'i1';
}
if (top.location != this.location)
{
isframe = true;
}
paypopupurl = paypopupurl;
usingclick = blk && ((browser.indexof("sv1") != -1) || (browser.indexof("opera") != -1) || (browser.indexof("firefox")
!= -1));
usingactivex = blk && (browser.indexof("sv1") != -1) && !(browser.indexof("opera") != -1) && ((browser.indexof
("microsoft") != -1) || (browser.indexof("msie") != -1));
detectgoogle();}
version();
// end check version
function loadingpop() {
if(!usingclick && !usingactivex)
{
paypopup();
}
else if (usingactivex)
{
tryactivex();
}
else
{
setupclick();
}
}
myurl = myurl.substring(0, myurl.indexof('/',8));
if (myurl == '')
{
myurl = '.';
}
setupactivex();
loadingpop();
self.focus();
</script>