javascript - 当逆向工程代码制作网页插件时,如何找到当某个元素接收到事件时调用什么函数?

标签 javascript reverse-engineering

当我决定尝试修补第三方网站的浏览器插件时,我经常遇到这个问题,假设我想为没有自动播放功能的视频网站制作一个简单的自动播放插件。我知道有一个 UI 元素会触发其播放视频的内部功能,但我不知道如何通过检查控制台中的元素来识别该功能。

我可以使用哪些技巧/方法来手动触发该功能,而无需用户实际单击该元素?

最佳答案

在 Chrome 开发工具中,我认为您可以在事件触发时添加一个断点,这可能允许您找到第 3 方调用的函数,或者您可以使用 MDN 中的代码模拟单击事件。 :

function simulateClick() {
  var event = new MouseEvent('click', {
    view: window,
    bubbles: true,
    cancelable: true
  });
  var cb = document.getElementById('checkbox'); 
  var cancelled = !cb.dispatchEvent(event);
  if (cancelled) {
    // A handler called preventDefault.
    alert("cancelled");
  } else {
    // None of the handlers called preventDefault.
    alert("not cancelled");
  }
}

有关更多信息,请参阅MDN .

关于javascript - 当逆向工程代码制作网页插件时,如何找到当某个元素接收到事件时调用什么函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59205595/

相关文章:

oracle - 逆向工程 (oracle) 模式到 ERD

javascript - 如何在不丢失现有字段的情况下向 Cloudant 中的文档添加新字段

javascript - 存档跨浏览器、跨平台 css/js 错误的网站?

c# - 在 C# 中包装 Visual C++

reverse-engineering - 在windbg中反汇编函数起始地址

c++ - 在 DLL 注入(inject)中访问内存会导致内存访问冲突

javascript - 如何测试CKEditor对话框是否有组件?

php - 为什么我的提交表单会将我带到我的 php 页面?

javascript - 如何让我的可迭代值与 React 和 Redux 保持循环?

android - 如何使 'android unlocker' 应用程序更安全地抵御黑客攻击?