JavaScript笔记之操作浏览器窗口

【2024】前端学习笔记12-JavaScript初体验-Js操作window 本文记录了js初体验及window方面的内容包括open、close、reload、document、alert、confirm、innerWidth、innerHeight等内容 阅读详情

        窗口是Web浏览器中最重要的界面元素,JavaScript提供了许多操作窗口的工具,JavaScript处理窗口的方式与处理框架很相似(因为框架是位于总浏览器窗口中的文档窗口)。

      今天学习了如何使用JavaScript打开关闭,更新和定位窗口,如何使用JavaScript将信息写入窗口,从而可以在运行时构建网页。

      (一)打开新窗口

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Open a Window</title>
    <script type="text/javascript" src="script01.js"></script>
  </head>
  
  <body bgcolor="#FFFFFF">
     <h1>The Master of the House</h1>
     <h2>Click on his name to behold he who must be adored</h2>
     <h2><a href="#" class="newWin">Tired</a></h2>
  </body>
</html>


(二)打开多个窗口

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<title>About that Cat</title>
	<script type="text/javascript" src="script02.js"></script>	
</head>
<body bgcolor="#FFFFFF">
	<h1>More pictures of our cat</h1>
	<h2><a href="#" class="newWin">Click here to see him</a></h2>
</body>
</html>


(三)关闭窗口

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<title>Window Test</title>
	<script type="text/javascript" src="script03.js"></script>	
</head>
<body bgcolor="#FFFFFF">
	<div align="center">
		<h1>Let's play with windows!</h1>
		<h3>
			<a href="#" id="openWin">Open a new window</a>  
			<a href="#" id="closeWin">Close the window</a>
		</h3>
	</div>
</body>
</html>


(四)把窗口放在指定位置

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<title>Window Test</title>
	<script type="text/javascript" src="script06.js"></script>	
</head>
<body bgcolor="#FFFFFF">
	<div align="center">
		<h1>Let's play with windows!</h1>
		<h3>
			<a href="#" id="topLeftWin">Move/open window in the top left</a>  
			<a href="#" id="topRightWin">Move/open window in the top right</a><br />
			<a href="#" id="bottomLeftWin">Move/open window in the bottom left</a>  
			<a href="#" id="bottomRightWin">Move/open window in the bottom right</a><br />
			<a href="#" id="closeWin">Close the window</a>
		</h3>
	</div>
</body>
</html>


以上四种操作所需的js脚本分别为以下scripti:

/**
 * 打开新窗口(script1.js)
 */
window.onload=newWinLinks;

function newWinLinks(){
	for(var i=0;i<document.links.length;i++){
		if(document.links[i].className=="newWin"){
			document.links[i].onclick=newWindow;
		}
	}
}

function newWindow(){
	var catWindow=window.open("images/pixel1.jpg", "catWin", "resizable=no,width=350,height=260");
	//注意在宽度和高度参数中的逗号之间不能有任何空格,如果有空格,那么脚本
	//可能在某些浏览器中无效,
	return false;
}
/**
 *打开多个窗口(script2.js) 在每次点击屏幕上的一个控件时,通过创建的脚本代开不同的窗口
 */
window.onload=newWinLinks;

function newWinLinks(){
	for(var i=0;i<document.links.length;i++){
		if(document.links[i].className="newWin"){
			document.links[i].onclick=newWindows;
		}
	}
}

function newWindows(){
	for(var i=1;i<5;i++){
		var imgName="images/pixel"+i+".jpg";
		var winName="window"+i;
		var catWindow=window.open(imgName, winName,"width=350,height=260");
	}
}
 

/**
 * 关闭窗口(script3.js)
 */
var newWindow=null;
window.onload=newWinLinks;

function newWinLinks(){
	for(var i=0;i<document.links.length;i++){
		document.links[i].onclick=chgWindowState;
	}
}

function windowOpen(){
	if(newWindow&&!newWindow.closed){
		return true;
	}
	return false;
}

function chgWindowState(){
	if(this.id=="closeWin"){
		if(windowOpen()){
			newWindow.close();
		}else{
			alert("The window isn't open");
		}
	}
	if(this.id=="openWin"){
		if(windowOpen()){
			alert("The window is already open!");
		}else{
			newWindow=window.open("", "newWin","toolbar,location=yes,width=300,height=200");
		}
	}
	return false;
}
/**
 * 把窗口放在指定的位置(script4.js)有时候希望在屏幕上的指定位置打开一个窗口,在这个示例中,用户可以选择在屏幕的四个角之一打开一个小窗口。
 */
var newWindow=null;
window.onload=newWinLinks;

function newWinLinks(){
	for(var i=0;i<documeng.links.length;i++){
		document.links[i].onclick=chgWindowState;
	}
}

function windowOpen(){
	if(newWindow&&!newWindow.closed){
		return true;
	}
	return false;
}

function chgWindowState(){
	if(this.id=="closeWin"){
		if(windowOpen()){
			newWindow.close();
		}else{
			alert("The window isn't open");
		}
		return false;
	}
	var topPos=0;
	var leftPos=0;
	
	if(this.id.indexOf("bottom")>-1){
		topPos=screen.availHeight-200;
	}
	if(this.id.indexOf("Right")>-1){
		leftPos=screen.availWidth-300;
	}
	if(windowOpen()){
		newWindow.moveTo(leftPos,topPos);
	}else{
		newWindow=window.open("","newWin","toolbar,location=yes,width=300,height=200,left="+leftPos+",top="+topPos);
	}
	return false;
}

 

opener和parent比较:

window.opener其实是指本窗口的父窗口,比如,parWin.js通过window.open弹出了childWin.jsp,那么在childWin.js里面的window.opener就是指parWin.jsp,所以在childWin.js里面完全可以用window.opener调用任何一个parWin.jsp里面的方法,实现parWin.jsp和childWin.jsp的交互。

window.parent 是iframe页面调用父页面对象,比如一个parWin页面利用iframe或frame调用childWin页面,那么parWin页面所在窗口就是childWin页面的parent。

 (源《JavaScript基础教程》)



        
如何使用JavaScript关闭当前浏览器窗口? 根据浏览器的安全设置,您只能关闭由JavaScript打开的窗口。方法来关闭当前浏览器窗口。要调用此函数,您可以将其与某个事件(例如点击按钮)关联起来,或者直接在需要关闭窗口的地方调用该函数。在某些浏览器中,该方法可能只能关闭由JavaScript打开的新窗口,而不能关闭主窗口或浏览器标签页。JavaScript提供了一种简单的方法来关闭当前浏览器窗口。然而,由于浏览器的安全限制和差异,该方法可能不适用于所有情况。总结来说,要关闭当前浏览器窗口,您可以使用JavaScript中的。方法将不会关闭该窗口。 阅读详情

相关推荐

16、JavaScript 浏览器窗口操作指南

本文详细介绍了使用JavaScript进行浏览器窗口操作的多种方法,包括窗口聚焦、定位、内容更改、关闭、滚动、一次性打开多个窗口以及动态创建网页内容。通过示例代码和操作步骤,帮助开发者掌握窗口管理的技巧,并提供了实际应用场景,如广告展示、表单提交与多窗口协作。文章还总结了注意事项和未来发展方向,为提升网页交互性和用户体验提供参考。

z5a6b的博客 161

Selenium 自动化 —— 浏览器窗口操作

使用 Selenium 操作浏览器

postnull的博客 1507

JS如何关闭当前浏览器窗口?

在浏览器中,如何进行当前浏览器窗口的关闭呢? <script> function close() { window.open("about:blank", "_top").close(); } </script>

猿小白的博客 1万+

window对象的 innerheight、innerwidth

window对象的 innerheight、innerwidth 属性 定义和用法 只读属性,声明了窗口的文档显示区的高度和宽度,以像素计。 这里的宽度和高度不包括菜单栏、工具栏以及滚动条等的高度。 IE 不支持这些属性。它用 document.documentElement 或 document.body (与 IE 的版本相关)的 clientWidth 和 cli

ssisse的博客 2560

Javascript中浏览器窗口的基本操作总结

窗口位置 【1】获取   浏览器(firefox不支持)提供了screenLeft和screenTop属性,分别用于表示窗口相对于屏幕左边和上边的位置   在窗口最大化的情况下,运行下列代码时,各个浏览器返回的值并不相同。chrome返回left:0;top:0。而IE则返回left:0;top:56(若有菜单栏,则返回left:0;top:78),这是因为IE中保存的是从屏幕左边和上边到由window对象表示的页面可见区域的距离。safari则由于自身的bug,返回left:-8;top:-8 //移动窗口,会有数值的变化 <div id='myDiv'></div> [removed]

告别Qweb!用ReportBro在Odoo 13-19版本中5步搞定动态报表

本文介绍了如何在Odoo 13-19版本中使用ReportBro替代Qweb快速实现动态报表设计。通过5步集成指南,包括环境准备、前端集成、后端服务搭建等,展示了ReportBro在可视化设计、即时预览和多格式输出(PDF/XLSX)方面的优势,显著提升开发效率和报表灵活性。

mac99的博客 801

【前端】利用JavaScript 实现窗口操作:打开、关闭当前页面与新窗口

浏览器窗口的操作在用户交互中非常重要,特别是需要进行页面跳转或者在新窗口中展示内容的时候。本文将基于简单的HTML和JavaScript代码,并以百度搜索内容为例,展示如何使用JavaScript来控制浏览器窗口。

L10131的博客 2238

Cadence Virtuoso实战:3分钟搞定反相器参数化设计(附CDF配置避坑指南)

本文详细介绍了如何在Cadence Virtuoso中利用CDF参数传递功能实现反相器的参数化设计,包括PMOS和NMOS的基础搭建、CDF配置技巧及常见报错解决方案。通过实战案例和避坑指南,帮助工程师快速掌握高效设计方法,提升集成电路设计效率。

weixin_28292761的博客 336

BOM (browser object model) 写js时浏览器提供的信息以及其他操作窗口的方法总结笔记(-待续)

窗口操作 BOM 浏览器信息 页面信息

superK_35的博客 1253

使用海康机器人的SDK进行DWS开发时如何筛选不同类型的相机

使用MVIDCodeReader、MvCodeReaderSDK、MvVolMeasureSDK联合开发时,通常会做一些设备枚举列表,但是不同类型的设备需要枚举在不同的列表中,便于软件使用者配置参数,例如: 如何保证枚举出来的设备是可以选择的对应的设备。我们通常枚举出来的是这样的: 解决办法 在联合开发中,我们发现,只有MvVolMeasureSDK的枚举设备接口EnumStereoCamEx可以正确的只枚举出网络内的体积设备,其余的MVIDCodeReader、MvCodeReaderS

qq_29123967的博客 2732

手把手教你学Simulink--基于电能质量与无功补偿的场景实例:统一电能质量调节器(UPQC)的联合控制仿真

在现代电力系统中,电能质量问题有源电力滤波器(APF)→ 治理谐波与无功动态电压恢复器(DVR)→ 补偿电压暂降/暂升静止无功发生器(SVG)→ 无功补偿与电压支撑而统一电能质量调节器(Unified Power Quality Conditioner, UPQC)是一种集串联补偿与并联补偿于一体的全能型电能质量治理装置✅ 电压类问题:暂降、暂升、不平衡、闪变✅ 电流类问题:谐波、无功、三相不平衡✅ 实现双向有功交换(储能型)串联单元(DVR功能):串联于线路,控制电源侧电压质量并联单元。

MHD0815的博客 240

红宝书《JavaScript高级程序设计》学习笔记(一)JavaScript简介

红宝书《JavaScript高级程序设计》学习笔记是我阅读JavaScript红宝书留下的笔记,本笔记侧重于你应该花点时间去关注的知识,这些知识可能不太起眼,但在以后但学习中,或许就是你有一天达到瓶颈的绊脚石。 js诞生1995年,当时主要目的是处理输入验证,在js问世之前,表单验证是在服务器端进行的。 一个完整的JavaScript由三个不同的部分组成。 核心(ECMAScri...

苏一恒 745

开源模型应用落地-qwen模型小试-Qwen3-8B-快速体验(一)

阿里云推出国内首个集成“快思考”与“慢思考”能力的 Qwen3-8B 大语言模型,以80亿参数和 128K 上下文支持,重塑AI应用边界并助力开发者高效部署

以微薄之力,予他人些许温暖. 2万+

JavaScript- 1.4 BOM对浏览器进行操作

本文讲述了BOM, BOM主要用于操作浏览器本身的行为和窗口,提供与浏览器交互的功能。DOM主要用于操作网页文档的内容和结构,实现动态内容更新和交互效果。两者共同协作,使得JavaScript能够控制浏览器和网页的方方面面。以上就是今天要讲的内容,本文简单记录了BOM对浏览器进行操作,仅作为一份简单的笔记使用,大家根据注释理解。

HRDMN的博客 943

lammps案例:热导率模拟案例讲解(NEMD方法)

lammps计算热导率大体可以分为三种方法:EMD、NEMD、rNEMD。 本文介绍非平衡模拟(NEMD)热导率的计算方法。 NEMD下热导率计算公式为: k=dQ*dZ/dt k:热导率 dQ:能量通量。 dT/dZ:温度梯度。 非平衡态下计算热导率的原理是在材料的两端或者中间设置热源和冷源。 在热源输入热量,在冷源抽取等量的热量,在这个过程中计算材料内部会有热量的传递,产生温度梯度。 在lammps模拟中得到能量通量和温度梯度,代入公式即可求得热导率。 热量的输入方式有多种,如fix langevin

lammps_jiayou的博客 1万+

统信UOS丨开机无法进入系统 无法打开控制台访问权限,root账号被锁定(cannot open access to console, the root account is locked)

步骤四:分别打开文件发现Roota下的fstab就是我们要找的文件,打开查看Roota的属性发现其为挂载的磁盘nvme0n1p3。步骤三:按Win+E打开文件管理器在分区中查找/etc/fstab文件,发现Roota和Rootb下都有该文件。步骤二:按键盘Ctrl+Alt+F4,进入终端控制台,如下图所示输入startx回车,进入桌面。步骤一:找到UOS系统安装的U盘,选择U盘启动进入安装界面,如下图所示。步骤七:关机,拔出U盘,启动电脑,OK,问题解决。

Reyn_观极 1万+

JavaScript笔记(一)

JavaScript笔记(一)读书笔记什么是JavaScript内容概要1.1 JavaScript历史1.2 JavaScript实现核心(ECMAScript)文档对象模型(DOM)浏览器对象模型(BOM) 读书笔记 《JavaScript高级程序设计(第4版)》 什么是JavaScript JavaScript是一门用来与网页交互的脚本语言。 包含三个组成部分: ECMAScript:由ECMA-262定义并提供核心功能。 文档对象模型(DOM):提供与网页内容交互的方法和接口。 浏览器对象模型(B

红炉一点雪的博客 258

老 MacBook 部署 OpenClaw:比 Windows 更稳定

老款 MacBook 在运行 OpenClaw 时,Linux 系统相比 Windows 系统具有更好的稳定性和性能。本文将从多个维度对比 Linux 和 Windows 在老款 MacBook 上运行 OpenClaw 的表现,帮助您选择更合适的操作系统。

一键难忘的博客 2096

JS如何设置并限制浏览器窗口的大小

JS控制浏览器窗口的大小代码之一: <script> window.moveTo(0, 0);//移动窗口 window.resizeTo(800, 600);//改变大小 window.onresize=new Function("window.resizeT...

chichaojing6253的博客 8753

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

JS获取各种浏览器窗口的大小

在网上找了差不多一下午的时间,终于找到了一个可以获取IE8窗口大小的文档了 http://wenku.baidu.com/view/5d6f7835b90d6c85ec3ac686.html JS获取各种浏览器窗口的大小     2008-06-21 19:03:44  来源:网页教学网  关于获取各种浏览器可见窗口大小的一点点研究 function getInfo()  {

jajavaja的专栏 6963

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

js防止浏览器拦截新窗口弹出

项目需求要在新窗口打开链接,但被拦截了 1.问题 需要在ajax回调中在新窗口打开页面 在浏览器开启拦截弹窗时,window.open(src, "_blank");这个会被拦截 3.解决办法 弹窗,按钮使用a标签,在新窗口打开页面 不区分浏览器,需要在ajax回调中在新窗口打开页面时,都弹出一个弹窗(包含a标签按钮),修改a标签的src,引导用户点击按钮,实现防止浏览器拦截新窗口弹窗的功能

锦锦_jane的博客 3961

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

JS定位浏览器窗口

菜鸟新手,初入前端,初来csdn,请各位大神多多指教。 这是关于JS定位浏览器窗口的代码。 代码中结构样式和JS写在一起。 图片版和文字版如下: Document &lt;style type="text/css"&gt; #div{ width:100px; height:100px; background: red; position: absolute; } ...

Eve_panda的博客 1156

javascript 窗口操作

function movebyBrowser() {             window.moveBy(10, 10); //浏览器向右移动10,再向下移动10         }         function moveToBrowser() {             window.moveTo(100, 100); //移动浏览器到指定位置         }

泪光无悔 393

js 关闭浏览器窗口事件

源: 评: 1. 不带任何提示关闭窗口的js代码 复制代码 代码如下: 关闭 2.自定义提示关闭 复制代码 代码如下: // 这个脚本是 ie6和ie7 通用的脚本 function custom_close(){ if (confirm("您确定要关闭本页吗?")){ window.opener=null; window.open('','_self')...

mauersu 5421
上一篇: JavaScript笔记之处理图像
下一篇: JavaScript笔记之表单处理
xiaoliangmei
博客等级 码龄16年 34粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值