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 浏览器窗口的更多相关文章

  1. Helium文档12-WebUI自动化-go_to在当前的Web浏览器窗口中打开指定的URL

    前言 go_to在当前的Web浏览器窗口中打开指定的URL 入参介绍 url def go_to(url): """ :param url: URL to open. : ...

  2. web 浏览器窗口window 与框架 frameset 的关系

    如果页面包含框架,则每个框架都拥有自己的window对象,并且保存在frames集合中,可以通过数字索引(从0开始,从左右到右,从上到下)或者框架名称来访问相对应的window对象. 每个window ...

  3. web自动化 -- 浏览器窗口切换

    切换浏览器窗口 示例: from time import sleep from selenium import webdriver from selenium.webdriver.support.wa ...

  4. web浏览器工作原理

    HTML在浏览器里的渲染原理 我们打开的页面(Web页面)在各种不同的浏览器中运行,浏览器载入.渲染页面的速度直接影响着用户体验,简单地说下页面渲染,页面渲染就是浏览器将html代码根据CSS定义的规 ...

  5. 第十一章:WEB浏览器中的javascript

    客户端javascript涵盖在本系列的第二部分第10章,主要讲解javascript是如何在web浏览器中实现的,这些章节介绍了大量的脚本宿主对象,这些对象可以表示浏览器窗口.文档树的内容.这些章节 ...

  6. [C# 网络编程系列]专题四:自定义Web浏览器

    转自:http://www.cnblogs.com/zhili/archive/2012/08/24/WebBrowser.html 前言: 前一个专题介绍了自定义的Web服务器,然而向Web服务器发 ...

  7. JavaScript 客户端JavaScript之 Web浏览器的环境

    Web浏览器实现的Javascript,通过Web浏览器实现的JavaScript引入了大量可脚本化的对象(1.Web浏览器 2.HTML 3.HTML中的内容)  Web浏览器中的Javascrip ...

  8. JavaScript 客户端JavaScript之 脚本化浏览器窗口

    1.计时器 客户端Javascript以全局函数setTimeOut().clearTimeOut().setInterval().clearInterval()提供这一功能.   前者是从运行的那一 ...

  9. Javascript学习7 - 脚本化浏览器窗口

    原文:Javascript学习7 - 脚本化浏览器窗口 本节讨论了文档对象模型.客户端Javascript下Window中的各项属性,包括计时器.Location对象.Histroy对象.窗口.浏览器 ...

随机推荐

  1. HBase中无法使用backspace删除

    转载自:Hbase命令行无法删除的问题 在HBase的shell命令行界面输入错误项按"退格键"删除,却怎么也删除不了: 解决办法: 第一步,修改SecureCRT的设置参数: 第 ...

  2. transport error 202: bind failed: 地址已在使用

    tomcat启动报错是因为:在catalina.sh中设置了调试启动参数 编辑catalina.sh全局搜索下 address= 去掉或者改一下address端口号,重启tomcat 另一种情况可能是 ...

  3. nopcommerce 常用属性验证

    Decimal可空:[UIHint("DecimalNullable")] datetime可空: [UIHint("DateTimeNullable")] i ...

  4. 开源 人脸识别 openface 实用介绍 实例演示 训练自己的模型

    1.OpenFace 是 卡耐基梅陇(CMU)大学的一个图像+机器学习项目,整体程序包含:人脸发现,特征提取,特征神经网络训练,人脸识别这四部分. github   https://github.co ...

  5. 【ASP.NET 插件】分享一个可视化HTML编辑器 CKEditor.NET

    因为公司网站的可视化HTML编辑器IE兼容性问题,js报错不能使用,于是在网上找到了个还行的,图片本地上传的话直接把图片拖到编辑窗口就可以了.这个编辑器是在开源中国看到的,个人觉得还不错! CKEdi ...

  6. leetcode540

    这道题目的要求,Note: Your solution should run in O(log n) time and O(1) space. 因此应该用二分查找的方式,代码如下: class Sol ...

  7. 来分析一个UVC的摄像头的枚举信息

    使用到工具USBlyzer导出数据,但是会发现一些还有部分解析未完全.我们将借助UVCView.x86(https://files.cnblogs.com/files/libra13179/77772 ...

  8. CKEditor 5

    1.官网 https://ckeditor.com/ckeditor-5/download/ 2.

  9. 06——react组件的基本定义和使用

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. mui集成百度ECharts的统计图表以及清空释放图表

    echarts官网地址: http://echarts.baidu.com/index.html 更换主题颜色: // 图表清空------------------- mychart.clear(); ...