- 浏览: 923446 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (537)
- Java SE (114)
- Struts (18)
- Hibernate (25)
- Spring (3)
- Page_Tech (41)
- Others (87)
- Database (29)
- Server (24)
- OpenSource_Tools (15)
- IDE_Tool (22)
- Algorithm (28)
- Interview (22)
- Test (28)
- Hardware (1)
- Mainframe (25)
- Web application (4)
- Linux (3)
- PHP (17)
- Android (1)
- Perl (6)
- ubuntu (1)
- Java EE (9)
- Web Analysis (5)
- Node.js (2)
- javascript (2)
最新评论
-
一键注册:
request.getRequestURL()和request.getRequestURI() -
SuperCustomer:
...
SED的暂存空间和模式空间 -
juyo_ch:
讲得挺好理解的,学习了
java 死锁及解决 -
chinaalex:
最后一题答案正确,但是分析有误.按照如下过程,上一行为瓶,下一 ...
zz智力题 -
liaowuxukong:
多谢博主啦,弱弱的了解了一点。
C++/Java 实现多态的方法(C++)
经常上网的朋友可能会到过这样一些网站,一进入首页立刻会弹出一个窗口,或者按一个连接或按钮弹出,通常在这个窗口里会显示一些注意事项、版权信息、警告、欢迎光顾之类的话或者作者想要特别提示的信息。其实制作这样的页面效果非常的容易,只要往该页面的HTML里加入几段Javascript代码即可实现。下面俺就带您剖析它的奥秘。
【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="#" onClick="openwin()">打开一个窗口 </a>注意:使用的“#”是虚连接。
方法四:用一个按钮调用:
<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">
//写成一行
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>
打开一个窗口
<input type="button" onclick="openwin()" value="打开窗口">
</body>
</html>
看看 OpenWindow.document.write()里面的代码不就是标准的HTML吗?只要按照格式写更多的行即可。千万注意多一个标签或少一个标签就会出现错误。记得用OpenWindow.document.close()结束啊。
【6、终极应用--弹出的窗口之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 (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1)
end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}
function loadpopup(){
if (get_cookie('popped')==''){
openwin()
document.cookie="popped=yes"
}
}
</script>
然后,用<body onload="loadpopup()">(注意不是openwin而是loadpop啊!) 替换主页面中原有的<BODY>这一句即可。你可以试着刷新一下这个页面或重新进入该页面,窗口再也不会弹出了。真正的Pop-Only-Once!
写到这里弹出窗口的制作和应用技巧基本上算是完成了
发表评论
-
正则表达式(实例讲解)
2012-07-18 11:38 7721. 正则表达式规则1.1 普通字符 字母、数字、 ... -
正则表达式之我见
2012-07-18 11:20 769正则表达式就是一个模式匹配的表达式,通过这个表 ... -
zz 深入正则表达式
2012-07-18 11:13 8461. 什么是正 ... -
常用正则表达式
2012-07-18 10:14 8561、非负整数:^\d+$2、正整数:^[0-9]*[1-9][ ... -
zz 网站采集 url网址正则表达式
2012-07-18 10:12 1260正则表达式规则 1. 正则表达式规则1.1 普通字符 ... -
XMLNS的作用
2012-05-16 12:54 1070做WEB页面的人经常会碰到形如<html xmlns=& ... -
如何解决Tomcat下中文乱码问题?
2010-12-25 15:03 837现在将常见的乱码问题分为JSP页面显示中文乱码、表单提交乱 ... -
javascript中字符串替换函数replace()方法详解
2010-12-20 17:02 952replace()最简单的算是能力就是简单的字符替换。示例代码 ... -
JSP应用导出Excel报表的简单实现以及中文乱码彻底解决(HTML)
2010-10-28 15:58 1061Web应用导出Excel报表的简单实现(HTML) 在Web应 ... -
JSP导出excel
2010-10-28 15:33 2419将web页面上显示 ... -
JavaScript 一些函数
2010-10-26 16:05 899第一:onload 网页加载完执行的函数,这个代码是从 ... -
一些JS兼容问题
2010-10-26 15:57 8351. document.form.item 问题问题:代码中存 ... -
Jsp乱码问题
2010-10-26 15:51 697最基本的乱码问题 这 ... -
61548错误!
2010-09-26 15:59 1030最近写一个简单的FckEditor发文章的Web ... -
request.getParameterNames()和request.getParameterValues()
2010-09-19 10:34 1592request.getParameterNames()方法是将 ... -
AJAX学习
2010-09-16 20:33 771AJAX学习 AJAX技术背景介 ... -
各类Http请求状态(status)及其含义
2010-07-17 14:16 892Web服务器响应浏览器或其他客户程序的请求时,其应答一般由以下 ... -
不重新发送信息,则无法刷新网页
2010-06-24 13:33 1692如果想刷新一下从别的页面提交过来页面,有时会出现讨厌的“不重新 ... -
模态窗口的缓存问题
2010-04-13 09:17 1294有时频繁的打开弹出的模态框操作(比如编辑一个目标的名字),里面 ... -
Ajax.Request方法
2010-04-12 18:20 1001Ajax.Request(url,{method:met ...
相关推荐
【Window.open()详解】 在JavaScript中,`window.open()` 是一个非常重要的方法,它用于打开一个新的浏览器窗口或者重载已有的窗口。以下是对这个方法的详细介绍: ### 1. 基本用法 最简单的`window.open()` 使用...
首先,我们可以使用`window.open()`方法来创建一个新的浏览器窗口。这个方法接受三个参数:URL、窗口名称和特性字符串。例如,以下代码会打开一个全屏窗口: ```html <body onload="window.open('...
### 使用DSOFramer全攻略详解 #### 一、前言 DSOFramer 是一款功能强大的控件,可以用于处理 Office 文档,特别是对于 Web 应用程序而言,它提供了便捷的方式来展示、编辑甚至生成 Word、Excel 和 PowerPoint 文件...
Ajax全攻略——完全掌握项目开发要求 Ajax,即异步JavaScript和XML的缩写,是一种在无需刷新整个网页的情况下,能够更新部分网页内容的技术。它并非全新的技术,而是通过组合已有技术,如JavaScript、DOM、CSS和XML...
在MyEclipse中,选择“Window” -> “Show View” -> “Other”,然后在弹出的对话框中找到“Database Explorer”,点击确认打开数据库浏览器视图。在视图中右键单击,选择“New” -> “Database Connection”。 在...
vscode.commands.executeCommand('vscode.openFolder', uri); ``` 总结来说,VSCode插件开发中的命令、菜单和快捷键机制赋予了开发者极大的灵活性,能够根据需求定制丰富的交互方式,提升用户的开发体验。通过熟练...
在PowerBuilder(PB)开发中,函数是构建...同时,理解如何与SQL Server安全规划相结合,以及如何在PB中处理Excel数据,如在《SQL Server安全规划全攻略》和《PB中批量处理Excel》中所讨论的,将有助于提升开发能力。