我想修改内部网页,以消除某些链接的某些onclick
行为。
内部网页有很多链接,如:
<a href="/slm/detail/ar/3116370" onclick="rallyPorthole.showDetail('/ar/view.sp','3116370','pj/b');return false;">foo de fa fa</a>
如何对Chrome进行扩展,以便执行以下操作:
for link in all_links:
if link's href attribute matches '/slm/detail/ar/...':
remove the onclick attribute
答案 0 :(得分:1)
找到this script后,可将以下代码放入以.user.js
结尾的文件中,并安装在Firefox或Chrome中。
// ==UserScript==
// @name Rally Onclick Nuke
// @namespace http://diveintogreasemonkey.org/download/
// @description Nukes the "onclick" attribute from user story links so you can CTRL click a link and have it open in a new tab
// @include https://*rally.sp
// ==/UserScript==
var links = document.getElementsByTagName("a");
for (i = 0; i < links.length; i++) {
var node = links[i];
var link = node.getAttribute("href");
if (link && link.indexOf("slm/detail/ar/") > -1 ) {
if (node.getAttribute("onclick")) {
node.removeAttribute("onclick");
}
}
}
答案 1 :(得分:1)
您可以使用document.getElementByTagName("a")
而不是document.links
,而您可以阅读here。
所以修改Ross Rogers的代码:
var node, links = document.links;
for (var i = 0; node = links[i]; i++) {
if (node.indexOf("slm/detail/ar/") > -1 ) {
if (node.getAttribute("onclick")) {
node.removeAttribute("onclick");
}
}
}