我正在尝试编写一个Google Chrome扩展程序,该扩展程序从网站上的onmousedown
标记中删除<a>
事件。
该站点以前曾经将onmousedown
事件作为DOM的一部分,因此我可以通过调用element.removeAttribute("onmousedown")
通过内容脚本轻松地将其删除。
但是现在,他们通过javascript添加了该事件,因此我无法通过content script
直接删除该事件,因为它在不同的javascript上下文中运行。
附言:我是在谈论Google搜索结果页面上的链接上的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");
}
最佳答案
内容脚本无法访问页面javascript对象(例如javascript声明的onmousedown事件)。它们在沙箱中执行。
但是您可以做的是在页面顶部插入一个脚本(带有脚本标签),以关闭事件:)