【发布时间】:2023-04-04 01:46:01
【问题描述】:
我正在尝试编写一个 Google Chrome 扩展程序,用于从网站上的 <a> 标记中删除 onmousedown 事件。
之前该站点曾经将 onmousedown 事件作为 DOM 的一部分,因此我可以通过调用 element.removeAttribute("onmousedown") 通过内容脚本轻松删除它。
但是现在,他们通过 javascript 添加了该事件,因此我无法通过 content script 直接删除该事件,因为它在不同的 javascript 上下文中运行。
PS:我说的是谷歌搜索结果页面上链接上的onmousedown 事件。早些时候,这个small piece of code 曾经可以工作,但现在它不能工作了,因为onmousedown 现在不是 DOM 的一部分。
var all_main_links = document.getElementsByClassName("r");
for (i=0; i<all_main_links.length; i++){
var current_link = all_main_links[i].childNodes[0];
current_link.removeAttribute("onmousedown");
}
【问题讨论】:
-
看看injecting your code into the page's context。这可能是唯一的方法。
-
我一直对this question 感到困惑,而@Xan 可能已经弄清楚发生了什么。
-
@Xan 该链接确实帮助并解决了我的问题。谢谢:)
标签: javascript google-chrome google-chrome-extension content-script