新窗口的打开(window.open)的使用

 刚学会用……

我测试用的是Google浏览器哦!语法:

window.open( URL,name,specs,replace )
参数说明
URL打开指定的页面的URL。如果没有指定URL,打开一个新的空白窗口
name指定target属性或窗口的名称。支持以下值:
  • _blank - URL加载到一个新的窗口。这是默认
  • _parent - URL加载到父框架
  • _self - URL替换当前页面
  • _top - URL替换任何可加载的框架集
  • name - 窗口名称,相同 name 的窗口只能创建一个,要想创建多个窗口则 name 不能相同。name 不能包含有空格。
specs

可选。一个逗号分隔的项目列表。支持以下值:
常用的四个:

top=pixels窗口顶部距离屏幕顶部的像素数
left=pixels窗口左侧距离屏幕左端的像素数
width=pixels

窗口的宽度.最小.值为100

height=pixels窗口的高度最小值为100
channelmode=yes|no|1|0是否要在影院模式显示 window。默认是没有的。仅限IE浏览器
directories=yes|no|1|0是否添加目录按钮。默认是肯定的。仅限IE浏览器
fullscreen=yes|no|1|0浏览器是否显示全屏模式。默认是没有的。在全屏模式下的 window,还必须在影院模式。仅限IE浏览器
location=yes|no|1|0是否显示地址字段.默认值是yes
menubar=yes|no|1|0是否显示菜单栏.默认值是yes
resizable=yes|no|1|0是否可调整窗口大小.默认值是yes
scrollbars=yes|no|1|0是否显示滚动条.默认值是yes
status=yes|no|1|0是否要添加一个状态栏.默认值是yes
titlebar=yes|no|1|0是否显示标题栏.被忽略,除非调用HTML应用程序或一个值得信赖的对话框.默认值是yes
toolbar=yes|no|1|0是否显示浏览器工具栏.默认值是yes
replaceOptional.Specifies规定了装载到窗口的 URL 是在窗口的浏览历史中创建一个新条目,还是替换浏览历史中的当前条目。支持下面的值:
  • true - URL 替换浏览历史中的当前条目。
  • false - URL 在浏览历史中创建新的条目。

示例: 

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="jquery-3.4.1.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>小白网页</title>
<script>
	function open_win(){
		window.open("http://www.baidu.com","_blank / _parent / _self / _top "
			,"width=1500,height=680,top=165px,left=180px");
	}
</script>
</head>
<body>
	
<form>
<input type="button" value="打开窗口" onclick="open_win()">
</form>
	
</body>
</html>

为了分开这个方法,实现共用,可以写个 JS 将这些配置放进去,然后引用在jsp页面引用js就可以了。(思路仅供参考哦~) 

<think>好的,我现在需要帮助用户了解如何使用JavaScript的window.open方法在新窗口打开链接。首先,我要回顾一下window.open的基本用法和参数设置。根据引用中的信息,window.open的基本语法是window.open(url, windowName, windowFeatures)。用户需要示例,所以我得准备一个简单的代码示例,展示如何正确使用这个方法。 接下来,我应该解释每个参数的作用。url参数是要加载的页面地址,windowName可以是窗口名称或目标属性,比如_blank。然后,windowFeatures参数控制窗口的外观和行为,比如大小、工具栏是否显示等。需要提到常用的特性,如width、height、left、top,以及如何组合这些特性字符串。 用户可能关心如何让新窗口居中显示,引用5提到了计算左侧位置的方法,所以我可以引用这一点,给出一个居中的示例。同时,需要注意不同浏览器的兼容性问题,比如有些特性可能不被支持,或者弹窗被拦截的情况,这时候需要提醒用户处理异常。 另外,引用3和4提到了一些高级用法,比如激活已有窗口而不是重复打开,以及父子窗口传值。虽然用户的问题可能不需要这些,但可以作为相关问题提供,帮助用户扩展知识。需要确保示例代码正确,比如使用正确的语法和参数顺序,避免常见的错误,比如忘记引号或逗号。 最后,总结使用window.open的注意事项,比如浏览器安全限制,建议在用户交互事件中使用以避免被拦截。同时,整理相关问题,比如参数设置、居中方法、兼容性处理等,方便用户进一步学习。</think>### 如何使用 `window.open` 在新窗口打开链接? `window.open` 是 JavaScript 中用于在新窗口或标签页中打开页面的方法。以下是具体步骤和示例: --- #### **1. 基本语法** ```javascript window.open(url, windowName, windowFeatures); ``` - **`url`**:要加载的页面地址(若为空字符串则打开空白页)。 - **`windowName`**:新窗口的名称(如 `_blank` 表示新窗口)。 - **`windowFeatures`**:控制窗口特性的字符串(如大小、工具栏等)[^2]。 --- #### **2. 示例代码** **简单示例:打开新窗口** ```javascript // 在新窗口打开百度页面,默认尺寸和位置 window.open("https://www.baidu.com", "_blank"); ``` **自定义窗口特性** ```javascript // 打开一个宽600px、高400px的居中窗口,不显示工具栏 const features = "width=600,height=400,left=200,top=100,menubar=no,toolbar=no"; window.open("https://www.example.com", "myWindow", features); ``` **居中窗口的实现** 通过计算屏幕可用宽度和高度实现居中: ```javascript const width = 600; const height = 400; const left = (window.screen.availWidth - width) / 2; const top = (window.screen.availHeight - height) / 2; window.open("https://example.com", "_blank", `width=${width},height=${height},left=${left},top=${top}`); ``` (参考窗口居中计算的实现逻辑[^5]) --- #### **3. 常用 `windowFeatures` 参数** | 特性 | 说明 | 示例值 | |--------------|-------------------------------|-----------------| | `width` | 窗口宽度(像素) | `width=600` | | `height` | 窗口高度(像素) | `height=400` | | `left` | 窗口左侧位置(像素) | `left=200` | | `top` | 窗口顶部位置(像素) | `top=100` | | `menubar` | 是否显示菜单栏(yes/no) | `menubar=no` | | `toolbar` | 是否显示工具栏(yes/no) | `toolbar=no` | | `location` | 是否显示地址栏(yes/no) | `location=yes` | | `resizable` | 是否允许调整窗口大小(yes/no)| `resizable=yes` | --- #### **4. 注意事项** 1. **浏览器弹窗拦截**:若 `window.open` 未在用户交互事件(如点击)中触发,可能被浏览器拦截[^1]。 2. **窗口名称复用**:若 `windowName` 相同,后续调用会复用已有窗口而非新建[^3]。 3. **跨域限制**:新窗口的 JavaScript 访问可能受同源策略限制。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值