|
@@ -1,6 +1,7 @@
|
|
|
let nowFileName = "";
|
|
|
let jsonInfo = {};
|
|
|
let tabId = "";
|
|
|
+let nodeObj;
|
|
|
function InitTable() {
|
|
|
window.TabInstance = $("#filterTable")
|
|
|
.dxDataGrid({
|
|
@@ -215,6 +216,7 @@ chrome.runtime.onMessage.addListener(async (request, sender, sendResponse) => {
|
|
|
|
|
|
await attach();
|
|
|
await getPathNodeInfo(path);
|
|
|
+ await findEvent();
|
|
|
TabInstance.option({
|
|
|
dataSource: data,
|
|
|
});
|
|
@@ -254,6 +256,7 @@ async function getPathNodeInfo(path) {
|
|
|
for (const index of path) {
|
|
|
info = getpath(info, index);
|
|
|
}
|
|
|
+ nodeObj = info;
|
|
|
let nodeId = info.nodeId;
|
|
|
let cssInfo = await getMatchedStylesForNode(nodeId);
|
|
|
jsonInfo = cssInfo;
|
|
@@ -285,7 +288,6 @@ async function getDocument() {
|
|
|
|
|
|
async function attach() {
|
|
|
const targets = await chrome.debugger.getTargets();
|
|
|
- debugger;
|
|
|
let target = targets.find((m) => m.tabId == tabId);
|
|
|
if (target?.attached === true) {
|
|
|
} else {
|
|
@@ -294,3 +296,67 @@ async function attach() {
|
|
|
await chrome.debugger.sendCommand({ tabId }, "DOM.enable");
|
|
|
await chrome.debugger.sendCommand({ tabId }, "CSS.enable");
|
|
|
}
|
|
|
+
|
|
|
+async function findEvent() {
|
|
|
+ let winObj = await chrome.debugger.sendCommand(
|
|
|
+ { tabId },
|
|
|
+ "Runtime.evaluate",
|
|
|
+ {
|
|
|
+ expression: "self",
|
|
|
+ objectGroup: "",
|
|
|
+ includeCommandLineAPI: false,
|
|
|
+ silent: true,
|
|
|
+ returnByValue: false,
|
|
|
+ generatePreview: false,
|
|
|
+ userGesture: false,
|
|
|
+ awaitPromise: false,
|
|
|
+ }
|
|
|
+ );
|
|
|
+ let winEvents = await chrome.debugger.sendCommand(
|
|
|
+ { tabId },
|
|
|
+ "DOMDebugger.getEventListeners",
|
|
|
+ {
|
|
|
+ objectId: winObj.result.objectId,
|
|
|
+ }
|
|
|
+ );
|
|
|
+ let documentObj = await chrome.debugger.sendCommand(
|
|
|
+ { tabId },
|
|
|
+ "Runtime.evaluate",
|
|
|
+ {
|
|
|
+ expression: "document",
|
|
|
+ objectGroup: "",
|
|
|
+ includeCommandLineAPI: false,
|
|
|
+ silent: true,
|
|
|
+ returnByValue: false,
|
|
|
+ generatePreview: false,
|
|
|
+ userGesture: false,
|
|
|
+ awaitPromise: false,
|
|
|
+ }
|
|
|
+ );
|
|
|
+ let documentEvents = await chrome.debugger.sendCommand(
|
|
|
+ { tabId },
|
|
|
+ "DOMDebugger.getEventListeners",
|
|
|
+ {
|
|
|
+ objectId: documentObj.result.objectId,
|
|
|
+ }
|
|
|
+ );
|
|
|
+ let selfObj = await chrome.debugger.sendCommand(
|
|
|
+ { tabId },
|
|
|
+ "DOM.resolveNode",
|
|
|
+ {
|
|
|
+ nodeId: nodeObj.nodeId,
|
|
|
+ }
|
|
|
+ );
|
|
|
+ let selfEvents = await chrome.debugger.sendCommand(
|
|
|
+ { tabId },
|
|
|
+ "DOMDebugger.getEventListeners",
|
|
|
+ {
|
|
|
+ objectId: selfObj.object.objectId,
|
|
|
+ }
|
|
|
+ );
|
|
|
+ return {
|
|
|
+ winEvents: winEvents.listeners,
|
|
|
+ documentEvents: documentEvents.listeners,
|
|
|
+ selfEvents: selfEvents.listeners,
|
|
|
+ };
|
|
|
+}
|