web 浏览器窗口
1、窗口位置:
取得浏览器窗口左边和上边距屏幕左边和上边的位置
var leftPos = (typeof window.screenLeft == "number")? window.screenLeft : window.screenX;
var topPos = (typeof window.screenTop == "number")? window.screenTop : window.screenY;
在IE、Opera中,screenLeft 和 screenTop中保存的是屏幕左边和上边到由 window 对象表示的页面可见区域(包含工具栏的高度)的距离。
window 对象有两个移动窗口的方法:
window.moveTo(posX,poxY); 绝对移动
window.moveBy(posX,poxY); 相对移动
这两个方法有可能会被浏览器禁用。
2、窗口大小:
各个浏览器的window对象都有innerWidth、innerHeight、outerWidth、outerHeight属性,但定义有些不同。
可以获取页面视口的大小:
var pageWidth = window.innerWidth,
pageHeight = window.innerHeight;
if(typeof pageWidth != "number"){
if(document.compatMode == "CSS1Compat"){
pageWidth = document.documentElement.clientWidth;
pageHeight = document.documentElement.clientHeight;
} else {
pageWidth = document.body.clientWidth;
pageHeight = document.body.clientHeight;
}
}
window对象有两个调整窗口大小的方法:
window.resizeTo(lengthX,lengthY); 绝对调整
window.resizeBy(lengthX,lengthY); 相对调整
这两个方法有可能会被浏览器禁用。
3、导航和打开窗口
使用 window.open() 方法可以导航到一个特定的 URL ,也可以打开一个新的浏览器窗口。
使用格式:
window.open(url [,target [, features[, isReplaceCurrentPageHistory]]]);
参数说明:要加载的URL、窗口目标、个特性字符创、新页面是否取代浏览器历史记录中当前加载页面的布尔值。 通常只需传递第一个参数,最后一个参数只在不打开新窗口时使用。
3.1 导航
// 等同于 <a href="http://www.xxx.com/" target="topFrame"></a>
// topFrame 是frameset框架name 值
window.open("http://www.xxx.com/","topFrame"); //第二个参数也可以: _self, _parent, _top, _blank .默认 _self
3.2 打开新窗口
如果 window.open() 的第二个参数不是一个已经存在的窗口或框架,那么会根据第三个参数,打开一个新窗口或标签页。如果没有第三个参数,那么打开一个默认设置的新窗口或新标签页(根据浏览器设置)。在不打开新窗口时,会忽略第三个参数。
window.open("test.html","topFrame","height=400,width=400, top=20,left=20,resizable=yes"); //存在topFrame框架页面,忽略第三个参数,在topFrame中打开
wroxWin = window.open("test.html","_blank","height=400,width=400, top=20,left=20,resizable=yes"); //打开新窗口, 忽略"_blank",返回新窗口的引用
wroxWin.resizeTo(500,500); // 可以对 window.open()打开的窗口进行 大小调整、位置移动,而主浏览器窗口大多浏览器是不可以的。
wroxWin.moveTo(100,100);
wroxWin.close(); // 还可以关闭窗口,关闭后其引用还在,wroxWin.closed 值为 true
浏览器有可能会屏蔽或者阻止弹出窗口,可能返回 null ,也可能抛出错误。
var blocked = false;
try{
var wroxWin = window.open("https://www.baidu.com","_blank");
if(wroxWin == null){
blocked = true;
}
} catch (ex){
blocked = true;
} if(blocked){
console.log("The popup was blocked!");
}
window.open() 的第二个参数选项:
| channelmode=yes|no|1|0 | 是否要在影院模式显示 window。默认是没有的。仅限IE浏览器 |
| directories=yes|no|1|0 | 是否添加目录按钮。默认是肯定的。仅限IE浏览器 |
| fullscreen=yes|no|1|0 | 浏览器是否显示全屏模式。默认是没有的。在全屏模式下的 window,还必须在影院模式。仅限IE浏览器 |
| height=pixels | 窗口的高度。最小值为100 |
| left=pixels | 该窗口的左侧位置 |
| 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 |
| top=pixels | 窗口顶部的位置,不能为负 |
| width=pixels | 窗口的宽度.最小值为100 |
web 浏览器窗口的更多相关文章
- Helium文档12-WebUI自动化-go_to在当前的Web浏览器窗口中打开指定的URL
前言 go_to在当前的Web浏览器窗口中打开指定的URL 入参介绍 url def go_to(url): """ :param url: URL to open. : ...
- web 浏览器窗口window 与框架 frameset 的关系
如果页面包含框架,则每个框架都拥有自己的window对象,并且保存在frames集合中,可以通过数字索引(从0开始,从左右到右,从上到下)或者框架名称来访问相对应的window对象. 每个window ...
- web自动化 -- 浏览器窗口切换
切换浏览器窗口 示例: from time import sleep from selenium import webdriver from selenium.webdriver.support.wa ...
- web浏览器工作原理
HTML在浏览器里的渲染原理 我们打开的页面(Web页面)在各种不同的浏览器中运行,浏览器载入.渲染页面的速度直接影响着用户体验,简单地说下页面渲染,页面渲染就是浏览器将html代码根据CSS定义的规 ...
- 第十一章:WEB浏览器中的javascript
客户端javascript涵盖在本系列的第二部分第10章,主要讲解javascript是如何在web浏览器中实现的,这些章节介绍了大量的脚本宿主对象,这些对象可以表示浏览器窗口.文档树的内容.这些章节 ...
- [C# 网络编程系列]专题四:自定义Web浏览器
转自:http://www.cnblogs.com/zhili/archive/2012/08/24/WebBrowser.html 前言: 前一个专题介绍了自定义的Web服务器,然而向Web服务器发 ...
- JavaScript 客户端JavaScript之 Web浏览器的环境
Web浏览器实现的Javascript,通过Web浏览器实现的JavaScript引入了大量可脚本化的对象(1.Web浏览器 2.HTML 3.HTML中的内容) Web浏览器中的Javascrip ...
- JavaScript 客户端JavaScript之 脚本化浏览器窗口
1.计时器 客户端Javascript以全局函数setTimeOut().clearTimeOut().setInterval().clearInterval()提供这一功能. 前者是从运行的那一 ...
- Javascript学习7 - 脚本化浏览器窗口
原文:Javascript学习7 - 脚本化浏览器窗口 本节讨论了文档对象模型.客户端Javascript下Window中的各项属性,包括计时器.Location对象.Histroy对象.窗口.浏览器 ...
随机推荐
- win7 数据源只有 SQL SERVER, WIN7 64bit 环境使用 access 作为 CIS的数据源
最近换了个工作电脑,安装的是 WIN7 64BIT,结果配置CIS数据源的时候出现问题了,默认的数据源只有 SQL SERVER,没有ACCESS的数据源.后来在网上寻找了一圈后,找到了解决方法: C ...
- Maven运行的方式
1.运行父工程(父工程将各个子模块聚合到一起) 2.直接运行子模块(Web工程)
- [多线程]多线程(Thread、Runnable、Callable)
1.继承Thread类,重写run方法 线程 是程序中的执行线程.Java 虚拟机允许应用程序并发地运行多个执行线程. 每个线程都有一个优先级,高优先级线程的执行优先于低优先级线程.每个线程都可以或不 ...
- git openssl 模块生成 https 请求的 ssl 测试证书
1,请先确定安装了相关模块 1.1,git --version 1.2,openssl version -a 2,创建一个目录, cd 到该目录下 3,生成私钥 key 文件 openssl g ...
- Mysql IN语句查询
语法: WHERE column IN (value1,value2,...) WHERE column NOT IN (value1,value2,...) 1.in 后面是记录集,如: selec ...
- react-native android 报错 error calling Appregistry.runApplication
解决了权限问题以为就没问题了,但是进来就红屏了,报错信息如下: 解决了,懒得截图了 error calling Appregistry.runApplication 这个问题也找了很久,开始找到 ht ...
- bootsrap Collapse用法
collapse用处还是挺多的. 使用方法先看看bootstrap官方文档:https://v3.bootcss.com/javascript/#collapse You can use a link ...
- day02-数据库操作
一.数据库操作 1.1.创建数据库(增) CREATE DATABASE 也可以使用小写,(注意不要漏掉分号 ;) mysql> create database test; 或 mysql> ...
- linux系统基础入门
使用工具:源码管理,自动部署,web服务器(linux) linux系统基础入门 1.下载地址 2.本文介绍的是一个基于Ubuntu的开源操作系统 下载优麒麟 Ubuntu是一个广泛应用于个人电脑,云 ...
- webstorm设置自定义代码快捷键
1.file——>setting——>Editor——>live Templates出现如下界面 2.点击左上角绿色+选择template group创建分组(图中React Vue ...