JavaScript实现单击网页任意位置打开新窗口与关闭窗口的方法

发布时间 - 2026-01-11 03:21:45    点击率:

本文实例讲述了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:是否显示状态栏。

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript窗口操作与技巧汇总》、《JavaScript中json操作技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。


# JavaScript  # 单击  # 网页  # 任意位置  # 打开新窗口  # 关闭窗口  # JavaScript Window窗口对象属性和使用方法  # swing分割窗口控件JSplitPane使用方法详解  # javascript+html5+css3自定义弹出窗口效果  # JS简单实现父子窗口传值功能示例【未使用iframe框架】  # Vue.js仿微信聊天窗口展示组件功能  # JS检测window.open打开的窗口是否关闭  # 使用Ajax与服务器(JSON)通信实例  # AngularJS通过$http和服务器通信详解  # AngularJS ngModel实现指令与输入直接的数据通信  # 如何利用js在两个html窗口间通信  # 一处  # 相关内容  # 还可以  # 第一个  # 尤其是  # 不可以  # 感兴趣  # 数据结构  # 给大家  # 弹出  # 可以看到  # 很长  # 提供一个  # 下载站  # 更多关于  # 下载链接  # 所述  # 程序设计 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  专业商城网站制作公司有哪些,pi商城官网是哪个?  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  如何续费美橙建站之星域名及服务?  如何在Windows 2008云服务器安全搭建网站?  Laravel怎么实现验证码(Captcha)功能  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  如何在IIS中新建站点并解决端口绑定冲突?  如何用景安虚拟主机手机版绑定域名建站?  Python结构化数据采集_字段抽取解析【教程】  Bootstrap CSS布局之列表  免费网站制作appp,免费制作app哪个平台好?  Java类加载基本过程详细介绍  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】  昵图网官网入口 昵图网素材平台官方入口  简历没回改:利用AI润色让你的文字更专业  制作企业网站建设方案,怎样建设一个公司网站?  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  公司网站制作需要多少钱,找人做公司网站需要多少钱?  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  C#如何调用原生C++ COM对象详解  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作  北京专业网站制作设计师招聘,北京白云观官方网站?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  如何在橙子建站上传落地页?操作指南详解  如何在 Pandas 中基于一列条件计算另一列的分组均值  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  香港服务器选型指南:免备案配置与高效建站方案解析  海南网站制作公司有哪些,海口网是哪家的?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  网站制作软件有哪些,制图软件有哪些?  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  如何基于云服务器快速搭建个人网站?  php485函数参数是什么意思_php485各参数详细说明【介绍】  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  Laravel API资源类怎么用_Laravel API Resource数据转换  在线教育网站制作平台,山西立德教育官网?  如何快速搭建支持数据库操作的智能建站平台?  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  LinuxShell函数封装方法_脚本复用设计思路【教程】  在线制作视频的网站有哪些,电脑如何制作视频短片?