超级实用且不花哨的js代码大全 (五) -----弹窗代码汇总

简介:
弹窗代码汇总
【0、超完美弹窗代码 
www.jiedichina.com,南京捷帝科技

功能:5小时弹一次+背后弹出+自动适应不同分辩率+准全屏显示 

代码: 
<script> 
function openwin(){ 
window.open( http://www.6882.com,"pop1","width="+(window.screen.width-15)+",height="+(window.screen.height-170)+",left=0,top=0,toolbar=yes,menubar=yes,scrollbars=yes,resizable=yes,location=yes,status=yes") 
setTimeout("focus();",5); 

function get_cookie(Name) { 
var search = Name + "=" 
var return&#118alue = ""; 
if (documents&#46cookie.length > 0) { 
offset = documents&#46cookie.indexOf(search) 
if (offset != -1) { 
offset += search.length 
end = documents&#46cookie.indexOf(";", offset); 
if (end == -1) 
end = documents&#46cookie.length; 
return&#118alue=unescape(documents&#46cookie.substring(offset, end)) 


return return&#118alue; 

function Set() 

var Then = new Date()     
Then.setTime(Then.getTime() + 5*60*60*1000 ) 
documents&#46cookie = "popped1=yes;expires="+ Then.toGMTString() 


function loadpopup(){ 
if (get_cookie('popped1')=='') 

openwin() 
Set() 


setTimeout("loadpopup()",5); 

</script> 


【1、最基本的弹出窗口代码】 

其实代码非常简单: 

<script language="&#106avascript"> 
<!-- 
window.open ('page.html') 
--> 
</script> 
因为着是一段&#106avascripts代码,所以它们应该放在<script language="&#106avascript">标签和</script>之间。<!-- 和 -->是对一些版本低的浏览器起作用,在这些老浏览器中不会将标签中的代码作为文本显示出来。要养成这个好习惯啊。 
window.open ('page.html') 用于控制弹出新的窗口page.html,如果page.html不与主窗口在同一路径下,前面应写明路径,绝对路径(http://)和相对路径(../)均可。用单引号和双引号都可以,只是不要混用。 
这一段代码可以加入html的任意位置,<head>和</head>之间可以,<body>间</body>也可以,越前越早执行,尤其是页面代码长,又想使页面早点弹出就尽量往前放。 


【2、经过设置后的弹出窗口】 

下面再说一说弹出窗口的设置。只要再往上面的代码中加一点东西就可以了。 
我们来定制这个弹出的窗口的外观,尺寸大小,弹出的位置以适应该页面的具体情况。 
<script language="&#106avascript"> 
<!-- 
window.open ('page.html', 'newwindow', 'height=100, width=400, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no') 
//写成一行 
--> 
</script> 
参数解释: 
<script language="&#106avascript"> js脚本开始; 
window.open 弹出新窗口的命令; 
'page.html' 弹出窗口的文件名; 
'newwindow' 弹出窗口的名字(不是文件名),非必须,可用空''代替; 
height=100 窗口高度; 
width=400 窗口宽度; 
top=0 窗口距离屏幕上方的象素值; 
left=0 窗口距离屏幕左侧的象素值; 
toolbar=no 是否显示工具栏,yes为显示; 
menubar,scrollbars 表示菜单栏和滚动栏。 
resizable=no 是否允许改变窗口大小,yes为允许; 
location=no 是否显示地址栏,yes为允许; 
status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许; 
</script> js脚本结束 


【3、用函数控制弹出窗口】 

下面是一个完整的代码。 
<html> 
<head> 
<script language="&#106avascript"> 
<!-- 
function openwin() { window.open ("page.html", "newwindow", "height=100, width=400, toolbar= 
no, menubar=no, scrollbars=no, resizable=no, location=no, status=no" 
//写成一行 

//--> 
</script> 
</head> 
<body > 
...任意的页面内容... 
</body> 
</html> 
这里定义了一个函数openwin(),函数内容就是打开一个窗口。在调用它之前没有任何用途。 
怎么调用呢? 
方法一:<body > 浏览器读页面时弹出窗口; 
方法二:<body > 浏览器离开页面时弹出窗口; 
方法三:用一个连接调用: 
<a href="#" _fcksavedurl=""#"" &#111nclick="openwin()">打开一个窗口</a> 
注意:使用的“#”是虚连接。 
方法四:用一个按钮调用: 
<input type="button" &#111nclick="openwin()" &#118alue="打开窗口"> 


【4、同时弹出2个窗口】 

对源代码稍微改动一下: 
<script language="&#106avascript"> 
<!-- 
function openwin() 
{ window.open ("page.html", "newwindow", "height=100, width=100, top=0,left=0,toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no" 
//写成一行 
window.open ("page2.html", "newwindow2", "height=100, width=100, top=100, left=100,toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no" 
//写成一行 

//--> 
</script> 
为避免弹出的2个窗口覆盖,用top和left控制一下弹出的位置不要相互覆盖即可。最后用上面说过的四种方法调用即可。 

注意:2个窗口的name(newwindows和newwindow2)不要相同,或者干脆全部为空。ok? 


【5、主窗口打开文件1.htm,同时弹出小窗口page.html】 

如下代码加入主窗口<head>区: 
<script language="&#106avascript"> 
<!-- 
function openwin() 
{window.open("page.html","","width=200,height=200" 

//--> 
</script> 
加入<body>区: 
<a href="1.htm" &#111nclick="openwin()">open</a>即可。 


【6、弹出的窗口之定时关闭控制】 

下面我们再对弹出的窗口进行一些控制,效果就更好了。如果我们再将一小段代码加入弹出的页面(注意是加入到page.html的html中,可不是主页面中,否则...),让它10秒后自动关闭是不是更酷了? 

首先,将如下代码加入page.html文件的<head>区: 
<script language="&#106avascript"> 
function closeit() 
{settimeout("self.close()",10000) //毫秒} 
</script> 
然后,再用<body > 这一句话代替page.html中原有的<body>这一句就可以了。(这一句话千万不要忘记写啊!这一句的作用是调用关闭窗口的代码,10秒钟后就自行关闭该窗口。) 


【7、在弹出窗口中加上一个关闭按钮】 

<form> 
<input type='button' &#118alue='关闭' &#111nclick='window.close()'> 
</form> 

呵呵,现在更加完美了! 


【8、内包含的弹出窗口-一个页面两个窗口】 

上面的例子都包含两个窗口,一个是主窗口,另一个是弹出的小窗口。 

通过下面的例子,你可以在一个页面内完成上面的效果。 
<html> 
<head> 
<script language="&#106avascript"> 
function openwin() 
{openwindow=window.open("", "newwin", "height=250, width=250,toolbar=no,scrollbars="+scroll+",menubar=no"; 
//写成一行 
openwindow.document.write("<title>例子</title>" 
openwindow.document.write("<body bgcolor=#ffffff>" 
openwindow.document.write("<h1>hello!</h1>" 
openwindow.document.write("new window opened!" 
openwindow.document.write("</body>" 
openwindow.document.write("</html>" 
openwindow.document.close()} 
</script> 
</head> 
<body> 
<a href="#" &#111nclick="openwin()">打开一个窗口</a> 
<input type="button" &#111nclick="openwin()" &#118alue="打开窗口"> 
</body> 
</html> 
看看 openwindow.document.write()里面的代码不就是标准的html吗?只要按照格式写更多的行即可。千万注意多一个标签或少一个标签就会出现错误。记得用openwindow.document.close()结束啊。
【9、终极应用--弹出的窗口之cookie控制】 

回想一下,上面的弹出窗口虽然酷,但是有一点小毛病(沉浸在喜悦之中,一定没有发现吧?)比如你将上面的脚本放在一个需要频繁经过的页面里(例如首页),那么每次刷新这个页面,窗口都会弹出一次,是不是非常烦人?:-(有解决的办法吗?yes! ;-) follow me. 

我们使用cookie来控制一下就可以了。 

首先,将如下代码加入主页面html的<head>区: 
<script> 
function openwin() 
{window.open("page.html","","width=200,height=200"} 
function get_cookie(name) 
{var search = name + "=" 
var return&#118alue = ""; 
if (documents&#46cookie.length > 0) { 
offset = documents&#46cookie.indexof(search) 
if (offset != -1) { 
offset += search.length 
end = documents&#46cookie.indexof(";", offset); 
if (end == -1) 
end = documents&#46cookie.length; 
return&#118alue=unescape(documents&#46cookie.substring(offset,end)) 


return return&#118alue; 

function loadpopup(){ 
if (get_cookie('popped')==''){ 
openwin() 
documents&#46cookie="popped=yes" 


</script> 
然后,用<body >(注意不是openwin而是loadpop啊!)替换主页面中原有的<body>这一句即可。你可以试着刷新一下这个页面或重新进入该页面,窗口再也不会弹出了。真正的pop-only-once! 
强力弹窗代码: 

<Script Language="&#106avascript"> 
var paypopupURL = " http://23sui.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://23sui.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>
分类:  Javascript

本文转自快乐就好博客园博客,原文链接:http://www.cnblogs.com/happyday56/archive/2007/12/10/989000.html,如需转载请自行联系原作者
相关文章
|
6天前
|
机器学习/深度学习 JavaScript 前端开发
JavaScript 弹窗
JavaScript 弹窗
19 1
|
14天前
|
编解码 前端开发 JavaScript
javascript检测网页缩放演示代码
javascript检测网页缩放演示代码
|
17天前
|
Web App开发 JavaScript 前端开发
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
|
2天前
|
JavaScript 前端开发 UED
网站内容禁止复制的js代码
【10月更文挑战第2天】
|
2天前
|
JavaScript 前端开发
电话号码正则表达式 代码 javascript+html,JS正则表达式判断11位手机号码
电话号码正则表达式 代码 javascript+html,JS正则表达式判断11位手机号码
14 1
|
14天前
|
存储 JavaScript 前端开发
改进JavaScript代码,给水果有序赋色
改进JavaScript代码,给水果有序赋色
|
16天前
|
存储 JSON JavaScript
JavaScript帮我编写快递自动分拣的代码,区分省份市区县城乡镇
JavaScript帮我编写快递自动分拣的代码,区分省份市区县城乡镇在JavaScript中编写一个用于快递自动分拣的代码,区分省份、市区、县、城乡镇,通常意味着你需要一个数据结构来存储这些地理区域的信息,并编写逻辑来根据快递地址中的信息将其分配到正确的分类中。 这里,我将提供一个简化的示例,说明如何使用JavaScript对象和函数来实现这一功能。请注意,这个示例是高度简化的,并且假设你已经有了某种方式(如正则表达式或API调用)来从快递地址中提取省份、市区、县等信息。 ----------------------------------- ©著作权归作者所有:来自51CTO博客作者goS
|
17天前
|
JavaScript 前端开发 Python
python执行js代码
本文档详细介绍如何安装Node.js环境及PyExecJS库,并提供示例代码展示其功能。首先,通过指定链接安装Node.js,安装完毕后可在命令行中输入`node --version`来验证安装是否成功。接着,使用`pip install PyExecJS`安装PyExecJS库,该库允许Python程序执行JavaScript代码。文档还提供了多个示例代码,展示了如何在Python环境中执行和编译JavaScript代码,并可以选择特定的JavaScript运行时环境,如Node.js或JScript。最后,通过具体案例展示了PyExecJS的功能与使用方法。
17 3
|
5天前
|
数据采集 JavaScript 前端开发
JavaScript中通过array.filter()实现数组的数据筛选、数据清洗和链式调用,JS中数组过滤器的使用详解(附实际应用代码)
JavaScript中通过array.filter()实现数组的数据筛选、数据清洗和链式调用,JS中数组过滤器的使用详解(附实际应用代码)
|
14天前
|
C++ Windows
HTML+JavaScript构建C++类代码一键转换MASM32代码平台
HTML+JavaScript构建C++类代码一键转换MASM32代码平台