@aglyn/shared-util-dom

中文文档
1.19.0发布于 2026/11/07Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 1.2万

DOM测量助手和类型守护:边框和剪接矩形,卷轴双亲,相抵双亲,一个节点的自有窗口(包括跨iframes),以及事件坐标. 它主要是Besigner视觉编辑器的内部构件(`@a)

中文使用文档
文档目录6 节
  1. 安装
  2. 里面有什么东西
  3. 使用量
  4. 导入时间效应
  5. 怎样才合适
  6. 许可证

@aglyn/ 共享用户名

DOM测量助手和类型守护:边框和剪接矩形,卷轴双亲,相抵双亲,一个节点的自有窗口(包括跨iframes),以及事件坐标. 它主要是Besigner视觉编辑器的内部构件(@aglyn/besigner-ui) 和 @aglyn/shared-ui-next,可自行使用.

从Aglyn monorepo出版到npm. 随后的版本 语义版本。 。 。 .

安装

npm install @aglyn/shared-util-dom

无对等依存. mobx 财务报告和审定财务报表 rxjs 是普通的依赖关系,仅由页面标题控制器使用.

里面有什么东西

下面的一切都从包根导出.

  • 矩形与几何 : getElementClientRectBounding, (中文(简体) ), getElementClientRectBoundingInner, (中文(简体) ), getElementRectAsClientRect, (中文(简体) ), getElementClippingRect, (中文(简体) ), getElementViewportRect, (中文(简体) ), getElementDocumentElementRect, (中文(简体) ), getElementFragmentRects, (中文(简体) ), getElementWindowScrollBarX。 。 。 .
  • 树行走: getElementScrollParent, (中文(简体) ), getElementListScrollParents, (中文(简体) ), getElementOffsetParent, (中文(简体) ), getElementParentNode, (中文(简体) ), getElementDocumentElement, (中文(简体) ), getElementNodeName, (中文(简体) ), getElementComputedStyle。 。 。 .
  • 窗口和框架 : getNodeWindow, (中文(简体) ), getNodeWindowScroll, (中文(简体) ), getIframeDocument。这些解析了拥有一个节点的窗口,而不是假设一个全局的窗口,因此它们致力于一个iframe内的元素.
  • 活动 : getEventCoordinates, (中文(简体) ), eventHasViewportCoordinates, (中文(简体) ), isTouchEvent, (中文(简体) ), isKeyboardEvent。 。 。 .
  • 警卫: isNodeObject, (中文(简体) ), isNodeElement, (中文(简体) ), isElementHTMLElement, (中文(简体) ), isSVGElement, (中文(简体) ), isNodeShadowRoot, (中文(简体) ), isNodeTableElement, (中文(简体) ), isNodeDocument, (中文(简体) ), isElementWindow, (中文(简体) ), isElementScrollParentElement, (中文(简体) ), elementContainsChildElement。 。 。 .
  • 类型和常数 : Rect, (中文(简体) ), ClientRectObject, (中文(简体) ), Coordinates, (中文(简体) ), VirtualElement, (中文(简体) ), Boundary, (中文(简体) ), RootBoundary,则 clippingParents 编号 : viewport 常数.
  • 页面标题控制器 : PageTitle (a MobX 可观测类),共享实例 $title,可见 RxJS $pageTitle和设置器 setScreenName, (中文(简体) ), setScreenNumber, (中文(简体) ), setScreenSuffix, (中文(简体) ), setScreenSeparator, (中文(简体) ), setScreenTitle。 。 。 .

每个文件下 src/lib 也可以被子路径导入, 例如 @aglyn/shared-util-dom/get-element-scroll-parent 或者说 @aglyn/shared-util-dom/guards/is-touch-event。 。 。 . getOwnerDocument 只有这样,因为 @aglyn/shared-util-dom/get-owner-document。 。 。 .

使用量

import {
  getElementListScrollParents,
  getEventCoordinates,
  getNodeWindow,
} from '@aglyn/shared-util-dom'

function onPointerDown(event: PointerEvent) {
  const { x, y } = getEventCoordinates(event)
  const win = getNodeWindow(event.target)
  const scrollers = getElementListScrollParents(event.target as Element)
  // ...
}

导入时间效应

此软件包导入根 @aglyn/shared-util-tools,该根定义了一组不可假设 $_- 前缀方法 Array.prototype 当它装入。 看那包的README 准确的列表.

怎样才合适

A 类 shared 软件包:通用,对Aglyn的模型一无所知。 共享软件包只能导入其他共享软件包; 此软件包取决于 @aglyn/shared-util-tools。 。 。 . @aglyn/besigner-ui 财务报告和审定财务报表 @aglyn/shared-ui-next 依赖它.

许可证

阿帕奇2.0 (英语). 资料来源: https://github.com/aglyn/aglyn/tree/main/libs/shared/util/dom 页面存档备份,存于互联网档案馆

版本与发布记录

@aglyn/shared-util-dom 共发布 161 个版本,首次发布于 2026/09/21;过去 12 个月发布了 161 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.19.0latest2026/11/07今天
1.18.02026/11/07今天
1.17.02026/11/07今天
1.16.02026/11/07今天
1.15.22026/11/061 天前
1.15.12026/11/061 天前

其他发布通道:beta → 1.0.0-beta.296。

关于 @aglyn/shared-util-dom 的常见问题

@aglyn/shared-util-dom 是什么?

DOM测量助手和类型守护:边框和剪接矩形,卷轴双亲,相抵双亲,一个节点的自有窗口(包括跨iframes),以及事件坐标. 它主要是Besigner视觉编辑器的内部构件(`@a)

如何安装 @aglyn/shared-util-dom?

在项目目录运行 npm install @aglyn/shared-util-dom,或使用 pnpm add / yarn add / bun add。

@aglyn/shared-util-dom 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@aglyn/shared-util-dom 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@aglyn/shared-util-dom 可以商用吗?

@aglyn/shared-util-dom 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@aglyn/shared-util-dom 的下载量有多少?

根据 npm 官方下载统计,@aglyn/shared-util-dom 在 2026/10/05 – 2026/11/03 这 30 天内被下载 12,268 次,日均约 409 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@aglyn/shared-util-dom 还在维护吗?

最新版本 1.19.0 发布于 2026/11/07(今天);至今共发布 161 个版本,其中过去 12 个月发布了 161 个;首次发布于 2026/09/21。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。