453331958 发表于 2024-7-2 20:21:08

Boss直聘网站的打招呼button怎么用脚本触发

页面:https://www.zhipin.com/web/chat/recommend

「推荐牛人」页面的「打招呼」Button有isTrusted检测!(data/attachment/forum/202407/02/201839ort06znk9x90rw6r.png)

用这个方法修改了event:

```
// 保存原始的 addEventListener 方法
const originalAddEventListener = EventTarget.prototype.addEventListener;

// 劫持 addEventListener 方法
EventTarget.prototype.addEventListener = function (type, listener, options) {
    // 包装原始的事件处理器
    const wrappedListener = function (event) {
      if (event.isTrusted === false) {
      // 使用 Proxy 伪装 isTrusted 为 true
      event = new Proxy(event, {
          get: function (target, prop) {
            if (prop === "isTrusted") {
            return true;
            }
            return target;
          },
      });
      }
      // 调用原始的事件处理器
      return listener.call(this, event);
    };

    // 使用原始的 addEventListener 方法添加包装后的事件处理器
    return originalAddEventListener.call(this, type, wrappedListener, options);
};
```

但是用js调用button的click的时候会报这个错误:
!(data/attachment/forum/202407/02/202044b613w1svwlj6w622.png)

很困惑,求大佬解答

李恒道 发表于 2024-7-2 20:45:15

看堆栈感觉基本是过了
哥哥进源代码继续调试补proxy试试

453331958 发表于 2024-7-2 21:33:55

李恒道 发表于 2024-7-2 20:45
看堆栈感觉基本是过了
哥哥进源代码继续调试补proxy试试

谢谢,定位到原因了,之前没有正确处理stopPropagation,调整之后就好了

ssq520937 发表于 2024-7-18 12:19:03

453331958 发表于 2024-7-2 21:33
谢谢,定位到原因了,之前没有正确处理stopPropagation,调整之后就好了

能告知一下解决方案吗
页: [1]
查看完整版本: Boss直聘网站的打招呼button怎么用脚本触发