window.open()方法(弹出层)
1, 最主要的弹出窗体代码
window.open('page.html');
2, 经过设置后的弹出窗体
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') //该句写成一行代码
參数解释:
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为同意。
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, 弹出两个窗体
对代码略微修改例如以下:
<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=n
o, status=no")//写成一行
window.open ("page2.html", "newwindow2", "height=100, width=100, top=100, left=100,toolbar=no, menubar=no, scrollbars=no, resizable=no, loca
tion=no, status=no")//写成一行
}
//-->
</script>
为避免弹出的2个窗体覆盖,用top和left控制一下弹出的位置不要相互覆盖就可以。
最后用上面的说过的四种方法调用就可以。
注意:2个窗体的name(newwindow与 newwindow2)不要同样,或者干脆所有为空。
5, 主窗体打开文件1.htm,同一时候弹出小窗体page.html
例如以下代码增加主窗体<head>区:
function openwin()
{
window.open("page.html","","width=200,height=200")
}
增加body区:
<a href="1.htm" onclick="openwin()">open</a>就可以。
6, 弹出的窗体之定时关闭控制
将一小段代码增加弹出的页面(注意是增加page.html的HTML中。可不是主页面中。否则......),让它在10秒后自己主动关闭是不是更酷了?
function closeit()
{
setTimeout("selft.close()", 10000) //毫秒
}
然后。在body 中加入:<body onload="closeit()">就可以。
7, 在弹出窗体中加上一个关闭按扭
<input type="button" value="关闭" onclick="window.close()">
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=#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="#" onclick="openwin()">打开一个窗体</a>
<input type="button" onclick="openwin()" value="打开窗体">
</body>
</html>
OpenWindow.document.write()里面的代码不就是标准的HTML吗?仅仅要依照 格式写很多其它的行就可以。
千万注意多一个标签或少一个标签就会出现错误。记得用 OpenWindow.document.close()结束啊。
9, 终极应用---弹出的窗体这Cookie控制
回忆一下,上面的弹出窗体尽管酷,可是有一点小毛病。比方你将上面的脚本放在一个须要频繁经过的页面里(比如首页)。那么每次刷新这个页面,窗体都会弹出一次,是不是很烦人?
有解决的办法吗?我们使用cookie来控制就可以。
首先。将例如以下代码增加主页面的Html的head区:
function openwin(){
window.open("page.html","","width=200,height=200")
}
function get_cookie(Name)
{
var search=Name+"=";
var returnvalue="";
if(document.cookie.length>0){
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 ladpopup()
{
if(get_cookie('popped=yes'))
{
openwin()
document.cookie="popped=yes";
}
}
最后,用<body onload="loadpopup()">
父级.aspx代码例如以下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="弹出窗体.aspx.cs" Inherits="弹出窗体" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title> </head>
<body onbeforeunload="return confirm('确定要离开吗?')">
<form id="form1" runat="server">
<div> <input id="Button1" type="button" value="button" onclick="window.open('ChildWin.aspx','弹出框','width=900,height=450,top=300,left=300');"/></div>
</form>
</body>
</html>
ChildWin.aspx代码例如以下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ChildWin.aspx.cs" Inherits="ChildWin" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div> <asp:BulletedList ID="BulletedList1" runat="server" Width="526px">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
<asp:ListItem>6</asp:ListItem>
<asp:ListItem>7</asp:ListItem>
<asp:ListItem>8</asp:ListItem>
</asp:BulletedList> <br />
<input id="Button1" type="button" value="关闭" OnClick="window.close();"/></div>
</form>
</body>
</html>
window.open()方法(弹出层)的更多相关文章
- layer弹出层不居中解决方案,layer提示不屏幕居中解决方法,layer弹窗不居中解决方案
layer弹出层不居中解决方案,layer提示不屏幕居中解决方法,layer弹窗不居中解决方案 >>>>>>>>>>>>> ...
- JavaScript学习笔记(一)——延迟对象、跨域、模板引擎、弹出层、AJAX示例
一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...
- JavaScript学习总结(一)——延迟对象、跨域、模板引擎、弹出层、AJAX示例
一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...
- zDiaLog弹出层
zDiaLog弹出层 立即下载 插件描述:zDiaLog弹出层 弹出框: 代替window.open.window.alert.window.confirm:提供良好的用户体验: 水晶质感,设计细腻 ...
- Jquery和Javascript 实际项目中写法基础-弹出窗和弹出层 (4)
一.实际项目中有很多如下界面效果. 二.该效果可以归结为弹出窗或者弹出层来实现的,为什么这么说?看如下代码: <!DOCTYPE html> <html> & ...
- pc端有弹出层 并有滚动的时候遇到的问题以及解决
有时候页面会遇到这样一个问题,页面有个弹出层 ,弹出层是有动条的,当弹出层滚完的时候,后面的页面也会滚动,但是我们希望是后面的页面不滚动;代码如下 1:弹出层出现的时候设置 $('body').css ...
- ASP.NET—013:实现带控件的弹出层(弹出框)
http://blog.csdn.net/yysyangyangyangshan/article/details/38458169 在页面中用到弹出新页面的情况比较多的,一般来说都是使用JS方法sho ...
- Layer组件多个iframe弹出层打开与关闭及参数传递
一.Layer简介 Layer是一款近年来备受青睐的web弹层组件,基于jquery,易用.实用,兼容包括IE6在内的所有主流浏览器,拥有丰富强大的可自定义的功能. Layer官网地址:http:// ...
- 权限管理系统之LayUI实现页面增删改查和弹出层交互
由于对LayUI框架不太熟悉,昨天抽空看了下LayUI的文档,今天在网上找了使用LayUI进行增删改查相关内容,自己照葫芦画了个瓢,画瓢部分不是很难,主要是下午遇到了一个弹出层的问题耗时比较久. 同一 ...
- 移动端和PC端页面常用的弹出层
我们在页面的时候,很多时候用到了弹出层,消息提醒,确认框等等,统一样式的弹出框可以使页面更加优美.在此,我整理一下我们项目的移动端和PC端页面常用的弹出层. 一.移动端 我们需在页面引入弹出框的样式和 ...
随机推荐
- Spring Cloud (12) 服务网关-基础
通过前几篇介绍,已经可以构建一个简单的微服务架构了,如下图: 通过eureka实现服务注册中心以及服务注册发现,通过ribbon或feign实现服务的消费以及负载均衡,通过spring cloud c ...
- Java系列学习(一)-JDK下载与安装
1.Java语言平台版本 J2SE:Java 2 Platform Standard Edition,java平台标准版 J2ME:Java 2 Platform Micro Edition,java ...
- 表格对象的获取和更改(原生js)
表格对象的获取 var oT = document.getElementById("tb"); //获取head console.log(oT.tHead); console.lo ...
- VHDL之Serial-Parallel Multiplier
1 Serial-parallel multiplier Figure 12.1 shows the RTL diagram of a serial-parallel multiplier. One ...
- C# 后台按键 视频播放器 全屏后无法 触发
第一种 (全屏不可触发) protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Win ...
- yum进程被占用
使用yum安装软件的时候出现,/var/run/yum.pid 已被锁定,PID 为 6503 的另一个程序正在运行的问题 [root@localhost mysql]# yum install gc ...
- javascript 大数据处理方法
随着前端的飞速发展,在浏览器端完成复杂的计算,支配并处理大量数据已经屡见不鲜.那么,如何在最小化内存消耗的前提下,高效优雅地完成复杂场景的处理,越来越考验开发者功力,也直接决定了程序的性能. 本文展现 ...
- WinForm窗体中窗口控件的生成
1:button控件的生成方式 Button button = new Button(); button.Size = new Size(80, 80); button.Location = new ...
- bootstrap table 生成的表格里动态添加HTML元素按钮,JS中添加点击事件,点击没反应---解决办法
bootstraptable中onExpandRow属性---js 方法添加的 html代码,然后给这代码里面的 元素 添加 事件,却获取不该元素.(称之为未来元素),由于是未来的 所以现在没有这个 ...
- loader__demo_css
环境 node + yarn + webpack4.0 + webpack-cli + style-loader css-loader 文件结构 │ package.json │ webpack.co ...