使用 Greasemonkey 更新 onclick 的字符串值
我正在尝试编写一个 Greasemonkey 脚本来更新页面上一堆链接的 onclick 值。 HTML 如下所示:
text ;
我需要将 Javascript 的 url-99.asp
部分更新为 urlB-99.asp
之类的内容。在我的脚本中,我使用 XPath 表达式收集所有链接并迭代它们:
var allEl = document.evaluate(
'td[@class="my-class"]/a',
document,
null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
null);
for (var i = 0; i < allEl.snapshotLength; i++) {
var el = allEl.snapshotItem(i);
//something here;
}
如果我尝试 alert(el.onclick)
,我会在控制台中收到错误:
Component不可用
我已经阅读了 unsafeWindow 和其他 Greasemonkey 功能,并且我了解如何使用新的 onClick 事件为该链接设置事件处理程序,但是如何将当前的 onclick 值读入字符串中,以便我可以操纵它并更新元素吗?
I'm trying to write a Greasemonkey script to update the onclick value of a bunch of links on a page. The HTML looks like this:
<a onclick="OpenGenericPopup('url-99.asp','popup',500,500,false)" href="javascript:void(0)">text</a>
I need to update the url-99.asp
part of the Javascript into something like urlB-99.asp
. In my script, I'm collecting all the links with an XPath expression and iterating through them:
var allEl = document.evaluate(
'td[@class="my-class"]/a',
document,
null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
null);
for (var i = 0; i < allEl.snapshotLength; i++) {
var el = allEl.snapshotItem(i);
//something here;
}
If I try to alert(el.onclick)
, I get an error in the console:
Component is not available
I've read up on unsafeWindow and other Greasemonkey features, and I understand how to set an event handler for that link with a new onClick event, but how do I read the current onclick value into a string so I can manipulate it and update the element?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您尝试过 el.getAttribute("onclick") 吗?
并使用
//td[@class="my-class"]/a
代替have you tried
el.getAttribute("onclick")
?and use
//td[@class="my-class"]/a
instead