右鍵觸發、點擊消失且 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 會從文檔中移除的彈出元素捕獲