右键触发、点击消失且 DOM 会从文档中移除的弹出元素捕获
右键触发、点击消失且 DOM 会从文档中移除的弹出元素,你可以使用以下更有效的方法来捕获和分析它的样式:
在控制台(Console)执行以下代码:
// 增强版 MutationObserver
const observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
// 检查新增节点
mutation.addedNodes.forEach((node) => {
// 检查是否是元素节点
if (node.nodeType !== 1) return;
// 方式1:检查类名(更宽松的匹配)
if (node.classList?.contains('page-menu') ||
node.querySelector?.('.page-menu')) {
captureMenu(node);
return;
}
// 方式2:检查属性或标签特征
if (node.hasAttribute('data-contextmenu') ||
node.tagName === 'MENU') {
captureMenu(node);
}
});
// 检查已有节点的属性变化(针对动态类名)
if (mutation.type === 'attributes' &&
mutation.target.classList?.contains('page-menu')) {
captureMenu(mutation.target);
}
});
});
function captureMenu(node) {
// 获取完整结构(包括可能延迟加载的子内容)
const fullMenu = node.classList?.contains('page-menu') ? node :
node.querySelector('.page-menu');
console.log("捕获到的右键菜单:", fullMenu);
window.capturedMenu = fullMenu;
// 自动复制到剪贴板(需要用户交互后生效)
copyToClipboard(fullMenu.outerHTML);
}
// 监听整个文档,深度观察
observer.observe(document.documentElement, {
childList: true,
subtree: true,
attributes: true,
attributeFilter: ['class']
});
// 辅助函数:复制到剪贴板
function copyToClipboard(text) {
navigator.clipboard.writeText(text)
.then(() => console.log("菜单HTML已复制到剪贴板"))
.catch(() => console.log("自动复制失败,请手动复制"));
}
// 触发提示
console.log("监听已启动,请在页面上右键点击...");
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
TP源码网 » 右键触发、点击消失且 DOM 会从文档中移除的弹出元素捕获
TP源码网 » 右键触发、点击消失且 DOM 会从文档中移除的弹出元素捕获