http://blog.csdn.net/huangfoxjava/article/details/2973033
huangfoxjava的专栏
关于jsp网页弹出窗口[很多种方法......]
分类: JSP2008-09-24 14:22 5799人阅读 评论(0) 收藏 举报
各种弹出页面的设计
【1、普通的弹出窗口】
其实代码非常简单:
<SCRIPT LANGUAGE=javascript>
<!--
window.open (‘page.html‘)
-->
</SCRIPT>
因为这是一段javascripts代码,所以它们应该放在<SCRIPT LANGUAGE=javascript>标签和</script>之间。<!-- 和 -->是对一些版本低的浏览器起作用,在这些老浏览器中不会将标签中的代码作为文本显示出来。要养成这个好习惯啊。
window.open (‘page.html‘) 用于控制弹出新的窗口page.html,如果page.html不与主窗口在同一路径下,前面应写明路径,绝对路径(http://)和相对路径(../)均可。
用单引号和双引号都可以,只是不要混用。
这一段代码可以加入HTML的任意位置,<head>和</head>之间可以,<body>间</body>也可以,越前越早执行,尤其是页面代码长,又想使页面早点弹出就尽量往前放。
【2、经过设置后的弹出窗口】
下面再说一说弹出窗口的设置。只要再往上面的代码中加一点东西就可以了。我们来定制这个弹出的窗口的外观,尺寸大小,弹出的位置以适应该页面的具体情况。
<SCRIPT LANGUAGE=javascript>
<!--
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=javascript> 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=javascript>
<!--
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 onload=openwin()>
..任意的页面内容...
</body>
</html>
这里定义了一个函数openwin(),函数内容就是打开一个窗口。在调用它之前没有任何用途。
怎么调用呢?
方法一:<body onload=openwin()> 浏览器读页面时弹出窗口;
方法二:<body onunload=openwin()> 浏览器离开页面时弹出窗口;
方法三:用一个连接调用:
<a href=注意:使用的“ 方法四:用一个按钮调用:
<input type=button onclick=openwin() value=打开窗口>
【4、同时弹出2个窗口】
对源代码稍微改动一下:
<script LANGUAGE=javascript>
<!--
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=javascript>
<!--
function openwin() {
window.open(page.html,,width=200,height=200)
}
//-->
</script>
加入<body>区:
<a href=1.htm onclick=openwin()>open</a>即可。
【6、弹出的窗口之定时关闭控制】
下面我们再对弹出的窗口进行一些控制,效果就更好了。如果我们再将一小段代码加入弹出的页面(注意是加入到page.html的HTML中,可不是主页面中,否则...),让它10秒后自动关闭是不是更酷了?
首先,将如下代码加入page.html文件的<head>区:
<script language=javascript>
function closeit() {
setTimeout(self.close(),10000) //毫秒
}
</script>
然后,再用<body onload=closeit()> 这一句话代替page.html中原有的<BODY>这一句就可以了。(这一句话千万不要忘记写啊!这一句的作用是调用关闭窗口的代码,10秒钟后就自行关闭该窗口。)
【7、在弹出窗口中加上一个关闭按钮】
<FORM>
<INPUT TYPE=‘BUTTON‘ value=‘关闭‘ onClick=‘window.close()‘>
</FORM>
呵呵,现在更加完美了!
【8、内包含的弹出窗口-一个页面两个窗口】
上面的例子都包含两个窗口,一个是主窗口,另一个是弹出的小窗口。
通过下面的例子,你可以在一个页面内完成上面的效果。
<html>
<head>
<SCRIPT LANGUAGE=javascript>
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=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=<input type=button onclick=openwin() value=打开窗口>
</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 returnvalue = ;
if (documents.cookie.length > 0) {
offset = documents.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = documents.cookie.indexOf(;, offset);
if (end == -1)
end = documents.cookie.length;
returnvalue=unescape(documents.cookie.substring(offset, end))
}
}
return returnvalue;
}
function loadpopup(){
if (get_cookie(‘popped‘)==‘‘){
openwin()
documents.cookie=popped=yes
}
}
</script>
然后,用<body onload=loadpopup()>(注意不是openwin而是loadpop啊!)替换主页面中原有的<BODY>这一句即可。你可以试着刷新一下这个页面或重新进入该页面,窗口再也不会弹出了。真正的Pop-Only-Once!
写到这里弹出窗口的制作和应用技巧基本上算是完成了,俺也累坏了,一口气说了这么多,希望对正在制作网页的朋友有所帮助俺就非常欣慰了。
需要注意的是,JS脚本中的的大小写最好前后保持一致。
1.弹启一个全屏窗口
<html>
<body onload=window.open(‘http://www.7880.com‘,‘example01‘,‘fullscreen‘);>;
<b>www.e3i5.com</b>
</body>
</html>
2.弹启一个被F11化后的窗口
<html>
<body onload=window.open(‘‘http://www.7880.com‘,‘example02‘,‘channelmode‘);>;
<b>www.e3i5.com</b>
</body>
</html>
3.弹启一个带有收藏链接工具栏的窗口
<html>
<body onload=window.open(‘http://www.7880.com‘,‘example03‘,‘width=400,height=300,directories‘);>
<b>www.e3i5.com</b>
</body>
</html>
4.网页对话框
<html>
<SCRIPT LANGUAGE=javascript>
<!--
showModalDialog(‘http://www.7880.com‘,‘example04‘,‘dialogWidth:400px;dialogHeight:300px;
dialogLeft:200px;dialogTop:150px;center:yes;help:yes;resizable:yes;status:yes‘)
//-->
</SCRIPT>
<b>www.e3i5.com</b>
</body>
</html>
<html>
<SCRIPT LANGUAGE=javascript>
<!--
showModelessDialog(‘http://www.7880.com‘,‘example05‘,‘dialogWidth:400px;dialogHeight:300px;
dialogLeft:200px;dialogTop:150px;center:yes;help:yes;resizable:yes;status:yes‘)
//-->
</SCRIPT>
<b>target=_blank>http://www.7880.com</b>
</body>
</html>
showModalDialog()或是showModelessDialog() 来调用网页对话框,至于showModalDialog()与showModelessDialog()的区别,在于showModalDialog()打开的窗口(简称模式窗口),置在父窗口上,必须关闭才能访问父窗口(建议尽量少用,以免招人反感);showModelessDialog()(简称无模式窗口),打开后不必关闭也可访问父窗口打开的窗口。
dialogHeight: iHeight 设置对话框窗口的高度。
dialogWidth: iWidth 设置对话框窗口的宽度。
dialogLeft: iXPos 设置对话框窗口相对于桌面左上角的left位置。
dialogTop: iYPos 设置对话框窗口相对于桌面左上角的top位置。
center: {yes | no | 1 | 0 } 指定是否将对话框在桌面上居中,默认值是“yes”。
help: {yes | no | 1 | 0 } 指定对话框窗口中是否显示上下文敏感的帮助图标。默认值是“yes”。
resizable: {yes | no | 1 | 0 } 指定是否对话框窗口大小可变。默认值是“no”。
status: {yes | no | 1 | 0 } 指定对话框窗口是否显示状态栏。对于非模式对话框窗口,默认值是“yes”;对于模式对话框窗口,默认值是 “no”。
网页经典代码
1. 将彻底屏蔽鼠标右键,无右键菜单
<body oncontextmenu=window.event.returnvalue=false>
也可以用于网页中Table框架中
<table border oncontextmenu=return(false)><td>no</table>
2.取消选取、防止复制
<body onselectstart=return false>
3.不准粘贴
<body onpaste=return false>
4.防止复制
<body oncopy=return false; oncut=return false;>
5.IE地址栏前换成自己的图标
<link rel=Shortcut Icon href=favicon.ico>
说明:关于favicon.ico文件的制作。你可以先在FW中做一个图片,属于你自己站点一个小图标。然后在ACD see将文件属性改为*.ico,然后将你做的*.ICO文件传到你的服务器目录中,然后就可以使用以上代码来实现,当别人登陆你的站点时,地址栏里使用的就是你自定义的图标了。
6.可以在收藏夹中显示出你的图标
<link rel=Bookmark href=favicon.ico>
说明:制作方法和上面的一样。只是显示的方式不同,这个是在别人收藏你的网页地址时显示的个性图标。
7.关闭输入法
<input style=ime-mode:disabled>
说明:这段代码是在表格提交时用到的。也就是在输入数据时不可以使用其他输入法模式。
8.永远都会带着框架
<script language=javascript><!--
if (window == top)top.location.href = frames.htm;// --></script>
说明:frames.htm为你的网页,这也是保护页面的一种方法
9.防止被人frame
<SCRIPT LANGUAGE=javascript><!--
if (top.location != self.location)top.location=self.location;
// --></SCRIPT>
10.网页将不能被另存为
<noscript><iframe src=*.html></iframe></noscript>
说明:<noscirpt>的用法很广,其中一条就是可以使JS广告失效。
11.查源文件
<input type=button value=查看网页源代码
onclick=window.location = ‘view-source:‘+ target=_blank>http://www.7880.com/test.htm‘;>
12.COOKIE脚本记录,有很大的用处哦
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
}
}
说明:以上是JS代码,请自己加起始符和结束符
13.内框架<IFRAME>使用
Iframe标记的使用格式是:
<iframe src=URL width=x height=x scrolling=[OPTION] frameborder=x
name=main></iframe>
src:文件的路径,既可是HTML文件,也可以是文本、ASP等
width、height:内部框架区域的宽与高;
scrolling:当SRC的指定的HTML文件在指定的区域不显不完时,滚动选项,如果设置为NO,则不出现滚动条;如为Auto:则自动出现滚动条;如为Yes,则显示; FrameBorder:区域边框的宽度,为了让“内部框架“与邻近的内容相融合,常设置为0。
name:框架的名字,用来进行识别。
比如: 当你想用父框架控制内部框架时,可以使用: target=框架的名字来控制。
例子:<iframe name=mm src=http://www.7880.com;; width=100% height=100% marginwidth=0 marginheight= ... ot; frameborder=0 scrolling=no></iframe>
14.自动跳转
在源代码中的<head>…</head>加入如下代码:
<meta http-equiv=refreshcontent=3;URL=http://www.7880.com; charset=gb2312>
说明:content=3 表示3秒刷新到URL
15.如何改变链接的鼠标形状
只需在链接上加上这一代码就行的了
或者跟上面的用CSS写也行
style=cursor:hand style=cursor:crosshair
style=cursor:text style=cursor:wait
style=cursor:move style=cursor:help
style=cursor:e-resize
style=cursor:n-resize
style=cursor:nw-resize style=cursor:w-resize
style=cursor:s-resize
style=cursor:se-resize
style=cursor:sw-resize
以上代码你只需要加到连接或是页面的style区里就可以实现鼠标多样化。
16.全屏显示
<form>
<div align=center>
<input type=BUTTON name=FullScreen value=全屏显示 onClick=window.open(document.location, ‘big‘, ‘fullscreen=yes‘)>
</div>
</form>
把它放到<body>区中。
17.设为首页
<script language=javascript>
<!--
function defaul_home(){
this.home.style.behavior=‘url(#default#homepage)‘;this.home.setHomePage(http://www.7880.com/‘;
}
var focusok=false;
if (navigator.appName == Netscape{
focusok=true;
}
vers=navigator.appVersion;
if (navigator.appName == Microsoft Internet Explorer{
pos=vers.lastIndexOf(‘.‘);
vers=vers.substring(pos-1,vers.length);
}
proper_version=parseFloat(vers);
if(proper_version>=5){
focusok=true;
}
function launchstock1(htmlurl){
var stock=window.open(htmlurl,stock,top=2,left=2,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,
resizable=no,width=700,height=510;
if(focusok){
stock.focus();
}
return true;
}
function launchstock(){
var stock=window.open(,stock,top=2,left=2,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,
resizable=no,width=700,height=510;
if(focusok){
stock.focus();
}
return true;
}
// -->
</script>
<a href=# name=home onClick=defaul_home(); title===E代时光==>设为首页</a>
18.这里是加入收藏夹的代码
<a href=# onClick=window.external.addFavorite(http://www.7880.com‘;.‘拂晓雅阁‘) target=_self title=拂晓雅阁>加入收藏夹</a>
19.flash图片效果
以下代码加入<head>区域
<SCRIPT language=javascript>
<!--
function makevisible(cur,which){
if (which==0)
cur.filters.alpha.opacity=100
else
cur.filters.alpha.opacity=20
}
//-->
</SCRIPT>
以下代码加入<body>区域
<img src=/Upload/2005-05/logo.gif;; style=filte ... nbsp;onMouseOver=makevisible(this,0) onMouseOut=makevisible(this,1) width=63 height=56> //图片地址请自己改
20.load 进度条
<table cellspacing=0 cellpadding=0 bgcolor=#FFFFFF width=40% id=P><tr><td>
<table cellspacing=0 cellpadding=0 bgcolor=#0000FF height=18 id=Q><tr><td></td></tr></table></td></tr></table>
</center>
<script language=javascript>
var R = 0; load();
function load() {R = R + 2; Q.style.width = R + %; time= setTimeout(load(),50);
if (R > 100) {clearTimeout(time); P.style.width=0}}
</script>
27 全屏
<script language=javascript>
window.open(‘index.asp‘,‘‘,‘fullscreen=1‘);
</script>
21.背景图片滚动
<body scroll=no background=images/bg.jpg link=#00FF00 alink=#FF0000 vlink=#00FF00 bgcolor=#000080 topmargin=8>
<script language=javascript>
var backgroundOffset = 0;
var bgObject = eval(‘document.body‘);
function scrollBG(maxSize) {backgroundOffset = backgroundOffset + 1;
if (backgroundOffset > maxSize) backgroundOffset = 0;
bgObject.style.backgroundPosition = 0 + backgroundOffset;}
var ScrollTimer = window.setInterval(scrollBG(410), 20)
</script>
22.网页不会被缓存
HTMl网页
<META HTTP-EQUIV=pragma CONTENT=no-cache>
<META HTTP-EQUIV=Cache-Control CONTENT=no-cache, must-revalidate>
<META HTTP-EQUIV=expires CONTENT=Wed, 26 Feb 1997 08:21:57 GMT>
或者<META HTTP-EQUIV=expires CONTENT=0>
ASP网页
Response.Expires = -1
Response.ExpiresAbsolute = Now() - 1
Response.cachecontrol = no-cache
PHP网页
header(Expires: Mon, 26 Jul 1997 05:00:00 GMT;
header(Cache-Control: no-cache, must-revalidate;
header(Pragma: no-cache;
23.
<%
‘定义数据库连接的一些常量
Const adOpenForwardOnly = 0 ‘游标只向前浏览记录,不支持分页、Recordset、BookMark
Const adOpenKeyset = 1 ‘键集游标,其他用户对记录说做的修改将反映到记录集中,但其他用户增加或删除记录不会反映到记录集中。支持分页、Recordset、BookMark
Const adOpenDynamic = 2 ‘动态游标功能最强,但耗资源也最多。用户对记录说做的修改,增加或删除记录都将反映到记录集中。支持全功能浏览(ACCESS不支持)。
Const adOpenStatic = 3 ‘静态游标,只是数据的一个快照,用户对记录说做的修改,增加或删除记录都不会反映到记录集中。支持向前或向后移动
Const adLockReadOnly = 1 ‘锁定类型,默认的,只读,不能作任何修改
Const adLockPessimistic = 2 ‘当编辑时立即锁定记录,最安全的方式
Const adLockOptimistic = 3 ‘只有在调用Update方法时才锁定记录集,而在此前的其他操作仍可对当前记录进行更改、插入和删除等
Const adLockBatchOptimistic = 4 ‘当编辑时记录不会被锁定,而更改、插入和删除是在批处理方式下完成的
Const adCmdText = &H0001
Const adCmdTable = &H0002
%>
24.最小化、最大化、关闭窗口
<object id=hh1 classid=clsidDB880A6-D8FF-11CF-9377-00AA003B7A11>
<param name=Command value=Minimize></object>
<object id=hh2 classid=clsidDB880A6-D8FF-11CF-9377-00AA003B7A11>
<param name=Command value=Maximize></object>
<OBJECT id=hh3 classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11>
<PARAM NAME=Command value=Close></OBJECT>
<input type=button value=最小化 onclick=hh1.Click()>
<input type=button value=最大化 onclick=hh2.Click()>
<input type=button value=关闭 onclick=hh3.Click()>
说明:本例适用于IE
25.判断上一页的来源
asp页:
request.servervariables(HTTP_REFERER
java script:
document.referrer
26.光标是停在文本框文字的最后
<script language=javascript>
function cc()
{
var e = event.srcElement;
var r =e.createTextRange();
r.moveStart(‘character‘,e.value.length);
r.collapse(true);
r.select();
}
</script>
<input type=text name=text1 value=123 onfocus=cc()>
- 上一篇jsp分页
- 下一篇实例讲解Java中的接口的作用
- 主题推荐
- jsp
- 猜你在找
HTML 5视频教程系列之JavaScript学习篇HTML 5全掌控通过经典案例教你学JavascriptHTML 5项目实战:豆瓣音乐应用开发Python自动化开发基础 HTML开发基础 Day9
查看评论
暂无评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
核心技术类目
全部主题 Hadoop AWS 移动游戏 Java Android iOS Swift 智能硬件 Docker OpenStackVPN Spark ERP IE10 Eclipse CRM JavaScript 数据库 Ubuntu NFC WAP jQueryBI HTML5 Spring Apache .NET API HTML SDK IIS Fedora XML LBS UnitySplashtop UML components Windows Mobile Rails QEMU KDE Cassandra CloudStackFTC coremail OPhoneCouchBase 云计算 iOS6 RackspaceWeb App SpringSide MaemoCompuware 大数据 aptech Perl Tornado Ruby Hibernate ThinkPHP HBase Pure SolrAngular Cloud Foundry Redis Scala Django Bootstrap
- 个人资料
- 访问:22670次
- 积分:364
- 等级:
- 排名:千里之外
- 原创:10篇
- 转载:18篇
- 译文:0篇
- 评论:5条
- 文章搜索
- 文章分类
- 文章存档
展开
- 阅读排行
- 关于jsp网页弹出窗口[很多种方法......](5764)
- jxl.jar包基础——简介(1842)
- jxl.jar实例说明(1770)
- JDK——安装源代码库和文档(1669)
- hibernate——实例【myeclipse自带实例】(920)
- jxl.jar基础——JXL中的方法介绍(743)
- jxl.jar基础——导出数据库信息(432)
- jsp_servlet【基础】(428)
- 单态设计模式(Singleton Pattern)(342)
- 主要数据库连接核心代码【Java】(330)
- 评论排行
- jxl.jar基础——JXL中的方法介绍(2)
- jxl.jar包基础——简介(1)
- JDK——安装源代码库和文档(1)
- jxl.jar实例说明(1)
- hibernate——实例【myeclipse自带实例】(0)
- Tomcat5.5 配置数据库连接池【MySQL+Tomcat-0.2】(0)
- 单态设计模式(Singleton Pattern)(0)
- SQL Server 安全认证知识【1】(0)
- SQL Server安全认证知识【2】(0)
- MyEclipse 快捷键大全(0)
- 推荐文章
- 最新评论
- jxl.jar包基础——简介
shixi0821: 写的很详细,赞一个!
- JDK——安装源代码库和文档
chizhou52501314: 执行jar xvf ../src.zip,我出现了“无法创建目录”?这个文档在观望是.zip文件... - jxl.jar实例说明
苦苦的潜行者: 先收藏,慢慢看 - jxl.jar基础——JXL中的方法介绍
匿名用户: - jxl.jar基础——JXL中的方法介绍
匿名用户:
- 公司简介|招贤纳士|广告服务|银行汇款帐号|联系方式|版权声明|法律顾问|问题报告|合作伙伴|论坛反馈
- 网站客服杂志客服微博客服[email protected]400-600-2320|北京创新乐知信息技术有限公司 版权所有|江苏乐知网络技术有限公司 提供商务支持
- 京 ICP 证 070598 号|Copyright © 1999-2014, CSDN.NET, All Rights Reserved