当前位置:首页 > JavaScript

js实现窗口

2026-03-01 12:05:11JavaScript

窗口大小调整与获取

通过 window.innerWidthwindow.innerHeight 可以获取浏览器窗口的视口宽度和高度(包含滚动条)。window.outerWidthwindow.outerHeight 则返回浏览器窗口的外部尺寸(包括工具栏、地址栏等)。

const viewportWidth = window.innerWidth;
const viewportHeight = window.innerHeight;
console.log(`视口尺寸: ${viewportWidth} x ${viewportHeight}`);

窗口滚动控制

使用 window.scrollTo() 方法滚动到指定位置。参数可以是具体坐标或滚动选项对象。

// 滚动到绝对位置
window.scrollTo(0, 500);

// 平滑滚动到顶部
window.scrollTo({
  top: 0,
  behavior: 'smooth'
});

新窗口打开与关闭

window.open() 创建新窗口,可指定URL、窗口名称和特性参数。window.close() 关闭当前窗口(通常仅对脚本打开的窗口有效)。

// 打开新窗口
const newWindow = window.open('https://example.com', '_blank', 'width=600,height=400');

// 关闭窗口
newWindow.close();

窗口事件监听

监听窗口大小变化和滚动事件:

// 窗口大小变化事件
window.addEventListener('resize', () => {
  console.log(`新尺寸: ${window.innerWidth} x ${window.innerHeight}`);
});

// 滚动事件
window.addEventListener('scroll', () => {
  console.log(`当前位置: ${window.scrollY}px`);
});

全屏模式控制

通过 Element.requestFullscreen() 实现全屏显示,document.exitFullscreen() 退出全屏。

// 进入全屏
document.documentElement.requestFullscreen();

// 退出全屏
document.exitFullscreen();

窗口焦点控制

使用 window.focus()window.blur() 控制窗口焦点。

// 获取焦点
window.focus();

// 失去焦点
window.blur();

跨窗口通信

通过 postMessage 实现跨窗口通信,配合 message 事件监听实现数据传递。

js实现窗口

// 发送消息
otherWindow.postMessage('Hello', 'https://target-origin.com');

// 接收消息
window.addEventListener('message', (event) => {
  if (event.origin !== 'https://trusted-origin.com') return;
  console.log('收到消息:', event.data);
});

标签: 窗口js
分享给朋友:

相关文章

js实现

js实现

JavaScript 实现方法 JavaScript 是一种广泛使用的编程语言,适用于网页开发、服务器端编程以及移动应用开发。以下是几种常见的 JavaScript 实现方法: 网页交互功能 使用…

vue实现js休眠

vue实现js休眠

Vue 中实现 JavaScript 休眠 在 Vue 中实现 JavaScript 休眠通常需要使用异步方式,以避免阻塞主线程。以下是几种常见方法: 使用 setTimeout 和 Pro…

js实现复制到剪贴板

js实现复制到剪贴板

使用document.execCommand方法(传统方式,已废弃但部分浏览器仍支持) 该方法适用于旧版浏览器,但已被标记为废弃。执行前需确保文本已被选中: function copyToClipb…

js实现抽奖

js实现抽奖

实现抽奖功能的基本思路 抽奖功能的核心是随机选择奖项并展示结果。可以通过数组存储奖项,利用随机数生成索引,最后通过动画增强用户体验。 准备奖项数据 定义一个数组存储奖项信息,每个奖项可以包含名称、图…

react如何检测窗口

react如何检测窗口

监听窗口大小变化 使用useEffect钩子和resize事件监听窗口尺寸变化。在组件挂载时添加事件监听器,卸载时移除监听器以避免内存泄漏。 import { useState, useEffect…

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…