Updating onclick's string value with Greasemonkey
Posted
by Devin McCabe
on Stack Overflow
See other posts from Stack Overflow
or by Devin McCabe
Published on 2009-12-31T19:41:40Z
Indexed on
2010/03/22
12:01 UTC
Read the original article
Hit count: 681
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?
© Stack Overflow or respective owner