/*** 监听水印是否清除和修改*/
export function watermarkClear() {// 添加水印的盒子let box: any = document.querySelector('.dplayer-video-wrap')// 水印let watermark: any = document.querySelector('.dplayer-logo')// 观察器的配置(需要观察什么变动)const config = { attributes: true, childList: true, subtree: true };// 当观察到变动时执行的回调函数const callback = function (mutationsList: any, observer: any) {watermark = document.querySelector('.dplayer-logo')let watermarkImg = document.querySelector('.dplayer-logo img')if (!watermark || !watermarkImg) {watermark?.remove()const div = document.createElement("div");div.className = "dplayer-logo"div.innerHTML = `<img src="${'/_nuxt/assets/images/AppOverall/watermark.png'}" alt="">`box?.appendChild(div)}};// 创建一个观察器实例并传入回调函数const observer = new MutationObserver(callback);// 以上述配置开始观察目标节点observer.observe(box, config);}
调用
watermarkClear()
监听的元素
这个元素被删除之后在这个父盒子里面重新生成
扩展:
元素加 pointer-events: none; 属性使用开发工具就不能直接点到元素所在的代码位置