【问题标题】:How can you replace a link's target in Greasemonkey?如何在 Greasemonkey 中替换链接的目标?
【发布时间】:2011-02-10 08:09:04
【问题描述】:

我正在尝试在 Greasemonkey 中编写一个脚本,该脚本将用其他东西替换链接的目标,但由于我有限的 Javascript 知识,我真的不知道该怎么做。

基本上,我试图找到包含特定字符串的所有链接(例如: //a[contains(@href, 'xx')] ),然后用另一个链接替换它们,或者在它们后面附加一些东西(将“abc123.com”替换为“zyx987.com”或“abc123.com”替换为“abc123.com/folder”)。

如果您能指出我正确的道路,我将不胜感激。

编辑:这是工作代码,以防将来有人有同样的问题:

var 链接,此链接; links = document.evaluate("//a[contains(@href, 'roarrr')]", 文档, 空值, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, 空值); for (var i=0;i

【问题讨论】:

    标签: javascript greasemonkey


    【解决方案1】:
    var links = document.evaluate("//a[contains(@href, 'roarrr')]", document, null, 
    XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); 
    for (var i=0; i < links.snapshotLength; i++) 
    { 
      var thisLink = links.snapshotItem(i); 
      thisLink.href += 'test.html'; 
    } 
    

    【讨论】:

      【解决方案2】:

      你得到想要的a 元素,并像这样设置它们的src:

      elem.src = 'http://example.com';
      

      你也可以使用之前的 src 值:

      elem.src += 'index.html';
      

      【讨论】:

      • 谢谢伙计。这是我到目前为止所拥有的,但它不起作用。你能看看吗?
         var links,thisLink; links = document.evaluate("//a[contains(@href, 'roarrr')]", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); for (var i=0;i
      • 天啊! a的src……睡个好觉对解决问题也很重要xD
      猜你喜欢
      • 2011-06-09
      • 1970-01-01
      • 2013-05-17
      • 2014-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-17
      • 1970-01-01
      相关资源
      最近更新 更多