JavaScript Window对象核心API详解:位置、大小、窗口控制与导航

作者:白露

时间:2026-10-26

浏览:233

本文详细介绍JavaScript中Window对象的关键属性与方法。涵盖获取浏览器窗口在屏幕上的位置坐标及视口宽高的兼容写法;解析window.open打开新窗口的参数控制;深入讲解location对象用于页面跳转、重载及查询字符串解析的实现;最后说明history对象实现页面前进后退及检测首屏状态的技巧。

文章目录

获取窗口位置与视口大小

1.窗口位置


以下取得浏览器窗口距屏幕左边和上边的位置


代码如下:

 
var leftPos = (typeof window.screenLeft == "number") ? window.screenLeft : window.screenX; //左边位置
var topPos = (typeof window.screenTop == "number") ? window.screenTop : window.screenY; //上边位置

2.浏览器大小


以下取得浏览器页面视口的大小


代码如下:

 
var pageWidth = window.innerWidth,
pageHeight = window.innerHeight;
if (typeof pageWidth != "number") {
if (document.compatMode == "CSS1Compatible") {
pageWidth = document.documentElement.clientWidth;
pageHeight = document.documentElement.clientHeight;
} else {
pageWith = document.body.clientWdith;
pageHeight = document.body.clientHeight;
} 
} 

使用window.open控制新窗口

3.打开或弹出窗口


window.open()方法,可以接受4个参数,通常只需指定第一个参数,第一个参数为URL,第二个参数为_self 、_parent 、_top 、_blank 或者框架名


代码如下:

 
window.open("http://www.baidu.com");
window.open("http://www.baidu.com","_blank");
window.open("http://www.baidu.com","topFrame","height=400,width=400,top=10,left=10,resizable = yes");
topFrame.resizeTo(500,300); //调整窗口大小
topFrame.moveTo(100,100); //移动窗口位置
topFrame.close(); //关闭新打开的窗口,IE会报错

location对象与URL操作

4.location 对象


location.href(URL) 加载URL


代码如下:

 
location.href(URL) 加载URL
location.href("http://www.baidu.com");
location.href = "http://www.baidu.com" ; //同上
location.assign = "http://www.baidu.com"; //同上
window.loaction = "http://www.baidu.com"; //同上
location.replace("http://www.baidu.com"); //同上,但不能回退
location.reload(); //重新加载(可能从缓存中加载)
location.reload(true); //重新加载(从服务器中加载)
location.search() 返回URL中的查询字符串,字符串以为?开头

解析URL查询字符串参数

5.获取查询字符串参数


代码如下:

 
function getQueryStringArgs() {
var qs = (location.search.length > 0) location.search.substring(1) : "";
var args ={};
var items = qs.split("&");
var item = null,name = null,value = null;
for (var i=0 ; i<items.length ; i++)
{ 
item = itmes[i].split("=");
name = decodeURIComponent(item[0]);
value = decodeURIComponent(item[1]);
args[name] = value;
} 
return args;
} 
//假设查询字符串参数是?q=javascript&num=10
var args = getQueryStringArgs();
alert(args["q"]); //"javascript"
alert(args["num"]); //"10"

history对象与页面导航

6.history 对象


代码如下:

 
history.go()页面跳转
history.go(-1); //后退一页
history.go(1); //前进一页
history.go(2); //前进两页
history.go("baidu.com"); 跳转到最近的baidu.com页面
history.back(); //后退一页
history.forword(); //前进一页

检测当前页是不是用户打开的第一个页面


代码如下:

 
if (history.length == 0) {
//如果打开的是第一个页面的话,执行某些操作
} 

页面加载完成处理

7.页面加载


window.onload() 用于页面加载结束后做某些操作


代码如下:

 
window.onload = function () {
//执行某些操作
} 

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章