docs: 优化水印 hook 注释
This commit is contained in:
parent
be7425d54d
commit
a02d150533
@ -63,7 +63,7 @@ export function useWatermark(parentEl: Ref<HTMLElement | null> = bodyEl) {
|
|||||||
mergeConfig = { ...defaultConfig, ...config }
|
mergeConfig = { ...defaultConfig, ...config }
|
||||||
// 创建或更新水印元素
|
// 创建或更新水印元素
|
||||||
watermarkEl ? updateWatermarkEl() : createWatermarkEl()
|
watermarkEl ? updateWatermarkEl() : createWatermarkEl()
|
||||||
// 是否监听水印元素和容器元素的变化
|
// 监听水印元素和容器元素的变化
|
||||||
addElListener(parentEl.value)
|
addElListener(parentEl.value)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -122,6 +122,7 @@ export function useWatermark(parentEl: Ref<HTMLElement | null> = bodyEl) {
|
|||||||
try {
|
try {
|
||||||
parentEl.value.removeChild(watermarkEl)
|
parentEl.value.removeChild(watermarkEl)
|
||||||
} catch {
|
} catch {
|
||||||
|
// 比如在无防御情况下,用户打开控制台删除了这个元素
|
||||||
console.warn("水印元素已不存在,请重新创建")
|
console.warn("水印元素已不存在,请重新创建")
|
||||||
} finally {
|
} finally {
|
||||||
watermarkEl = null
|
watermarkEl = null
|
||||||
@ -137,6 +138,7 @@ export function useWatermark(parentEl: Ref<HTMLElement | null> = bodyEl) {
|
|||||||
|
|
||||||
/** 监听水印元素和容器元素的变化(DOM 变化 & DOM 大小变化) */
|
/** 监听水印元素和容器元素的变化(DOM 变化 & DOM 大小变化) */
|
||||||
const addElListener = (targetNode: HTMLElement) => {
|
const addElListener = (targetNode: HTMLElement) => {
|
||||||
|
// 判断是否开启防御
|
||||||
if (mergeConfig.defense) {
|
if (mergeConfig.defense) {
|
||||||
// 防止重复添加监听
|
// 防止重复添加监听
|
||||||
if (!observer.watermarkElMutationObserver && !observer.parentElMutationObserver) {
|
if (!observer.watermarkElMutationObserver && !observer.parentElMutationObserver) {
|
||||||
@ -144,6 +146,7 @@ export function useWatermark(parentEl: Ref<HTMLElement | null> = bodyEl) {
|
|||||||
addMutationListener(targetNode)
|
addMutationListener(targetNode)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
// 无防御时不需要 mutation 监听
|
||||||
removeListener("mutation")
|
removeListener("mutation")
|
||||||
}
|
}
|
||||||
// 防止重复添加监听
|
// 防止重复添加监听
|
||||||
|
Loading…
x
Reference in New Issue
Block a user