【JavaScript】单击网页任意一处打开新窗口与关闭窗口

在一些不正规的网站,尤其是那些挂满广告的下载站,经常在你点击的下载链接之前,无论你点击网页的任何一处都会弹出新窗口。

这样的效果,可以轻松用JavaScript做到,还可以专门指定点击某一区域的Div,才触发打开新窗口的事件。

比如下图的效果:

在原网页中,指定一个Div,无论用户点击这个Div的任意区域,都会打开新窗口,而点击其它地方则不会。

在新窗口的地址栏不可以编辑,不能被调整大小,提供一个“关闭”按钮,关闭该窗口。

原网页的HTML布局如下,

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		<title>Untitled Document</title>
	</head>
	<body>
		<div class="testClass" style="height:100px;border:1px solid #cccccc">点击此任意一处打开广告</div>
	</body>
</html>

没什么好说的,就一个class为testClass的Div。

关键是以下脚本。

<script type="text/javascript">
	document.onclick = function(e){//设置整个网页的单击事件
		e = e || window.event;//为了兼容这样写。
		var target = e.target || e.srcElement;//用来点击的对象。为了兼容这样写。
		if (target.className == "testClass"){//如果点击的对象,class为testClass,那么打开新窗口。
			var OpenWindow=window.open("","newwindow","height=100","width=400","top=100","left=0","toolbar=false","menubar=false","scrollbars=false","resizable=false","location=false","status=false");
			//在新窗口中写入如下的HTML代码。
			OpenWindow.document.write("广告<br/>");
			//在Javascript中,利用window.close()可以关闭当前窗口,但不能关闭当前标签页,不过由于这个窗口是我们自己新生成的,因此对于所有浏览器有效
			OpenWindow.document.write("<button onclick='javascript:window.close()'>关闭!</button>");
		}
	}
</script>

从以上的脚本可以看到window.open()这个方法参数很长。

其中:

第一个参数为空的意思,则意为新窗口的链接不是已有的网页,新窗口的内容是通过以下的两行Javascript生成的。如果要求新窗口的内容是已有的网页,则填写相应的url。

之后的参数是如下的意思,但只是对IE有效。

newwindow:弹出窗口的名字(不是文件名),非必须,可用空‘‘代替。

height=100:新窗口高度。

width=400:新窗口宽度。

top=0:新窗口距离当前窗口上方的像素值。

left=0:窗口距离当前窗口左侧的像素值。

toolbar=false:是否显示工具栏,menubar,scrollbars表示菜单栏和滚动栏。

resizable=false:是否允许改变窗口大小

location=false:是否启用新窗口地址栏

status=false:是否显示状态栏。

时间: 2024-08-07 16:44:37

【JavaScript】单击网页任意一处打开新窗口与关闭窗口的相关文章

安卓 如何载入一个新窗口如何关闭窗口和向另一个窗口传值

我这里是有两个窗口   第二个窗口会把第一个窗口传过来的值显示在标签上    第二个窗口的按钮是销毁本窗口   第一个窗口按钮是载入第二个窗口并且传值到第二个窗口  (有几个按钮ID 和textview ID 我就不提了 应该看得懂) 这里主要用到了Intent 发现这个对象用到的很多 这是第一个窗口的java代码MainActivity package com.example.vmpdump.windw; import android.content.Intent; import androi

三个基本功能:新建窗口、关闭窗口和全屏控制

共两个文件,index.html和setting.html 下面是index.html的代码: 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2 <html lang="en"> 3 4 <head> 5 <meta http-equiv=&q

使用javascript如何打开新窗口

javascript打开新窗口方法 window.open('http://www.onesheng.cn'); [1.最基本的弹出窗口代码]  其实代码非常简单: <SCRIPT LANGUAGE="javascript"> <!-- window.open ('smsyun.html') --> </SCRIPT> 因为着是一段javascripts代码,所以它们应该放在<SCRIPT LANGUAGE="javascript&q

JavaScript关闭窗口的同时打开新页面的方法

做网页的时候需要弹出一个小窗口,然后要实现一个功能就是鼠标点击超链接关闭小窗口并打开一个新页面,就如同下图: 这是一个小窗口,点击超链接这个窗口会关闭并且会正常在浏览器打开新页面,首先写js关闭窗口的方法 1 <script type="text/javascript"> 2 function closewin(){ 3 //关闭窗口的方法 4 window.opener=null; 5 window.open('','_self',''); 6 window.close(

javascript 打开新窗口(window.open)

打开新窗口(window.open) open() 方法可以查找一个已经存在或者新建的浏览器窗口. 语法: window.open([URL], [窗口名称], [参数字符串]) 参数说明: URL:可选参数,在窗口中要显示网页的网址或路径.如果省略这个参数,或者它的值是空字符串,那么窗口就不显示任何文档. 窗口名称:可选参数,被打开窗口的名称. 1.该名称由字母.数字和下划线字符组成. 2."_top"."_blank"."_selft"具有特

JavaScript打开新窗口被拦截问题

新窗口打开页面,一个很常用的效果,至于代码,一般第一反应都是这么写: window.open(url); 但是主流的浏览器都会拦截这种效果(可能这些年弹窗广告太多,如果浏览器不拦截,用户受不了) 为了避免弹窗被拦截,一般都是利用a标签来打开一个新的页面,利用a标签的target="_blank"属性,一般根据情况使用下面这两种方法: 1.由点击事件触发新窗口打开: ----当然可以直接在页面使用a标签,这里只是为下文做铺垫的啦! <a href="http://www.

JavaScript打开新窗口

有时候会用到使用js打开新窗口, 使用window.open("http://www.baidu.com"); 这种方式会被浏览器拦截. 可以使用 var newTab=window.open('about:blank'); newTab.location.href="http://www.baidu.com"; 来打开新的窗口.

js页面跳转 和 js打开新窗口 方法

第一种:    <script language="javascript" type="text/javascript">           window.location.href="http://www.dollare.com.cn/login.php?backurl="+window.location.href;     </script> 第二种:    <script language="jav

js页面跳转 和 js打开新窗口 方法 【转】

第一种:    <script language="javascript" type="text/javascript">           window.location.href="http://www.dollare.com.cn/login.php?backurl="+window.location.href;     </script> 第二种:    <script language="jav