Modifying all links w/ Greasemonkey

前端 未结 2 1629
南笙
南笙 2020-12-04 02:49

I want to mod a page from a site that prefixes all its links with \"http://linkblur.com/?\" I tried this:

links = getElementsByTagName(\'a\');
for (l in lin         


        
相关标签:
2条回答
  • 2020-12-04 03:28

    You for iterator iterates over all the properties of your array, which will not be the individual items, but rather, 0, 1, 2, ..., n, length.

    You want to change your iterator, and if you want to prefix the links, you're doing that wrong, too. What you're currently doing will replace linkblur.com... with an empty string, i.e. remove linkblur from existing links.

    var links = document.getElementsByTagName('a');
    for (var i = 0; i < links.length; i++) {
        links[i].href = 'http://linkblur.com/?' + links[i].href;
    }
    
    0 讨论(0)
  • 2020-12-04 03:29

    Try:

    var links = document.links;
    var link;
    for(var i=links.length-1; i >=0; i--){
      link = links[i];
      link.href = link.href.replace("http://linkblur.com/?", '');
    }
    
    0 讨论(0)
提交回复
热议问题