【问题标题】:Using Greasemonkey/Tampermonkey to replace a div object for an anchor object使用 Greasemonkey/Tampermonkey 将 div 对象替换为锚对象
【发布时间】:2021-09-14 17:24:27
【问题描述】:

某些网站,例如 Canon (https://www.usa.canon.com/internet/portal/us/home/about/newsroom/press-releases) 的超链接被缩短并嵌入到 div 对象中,从而阻止您右键单击和“打开新标签”。我意识到我可以通过将 div 元素更改为锚对象来阻止它。

具体来说,如果我替换:

<div style ="cursor:pointer;" on click="window.location.href='/internet

<a href = 'https://www.usa.canon.com/internet

html 会自行更正,我现在可以正确打开链接。通过一些研究,我遇到了 Tampermonkey,我花了 4 个小时的大部分时间尝试编写 1-2 行代码,我需要让它为网页上的所有实例自动完成。谁能指出我的快速资源来解决这个问题?

谢谢!

【问题讨论】:

    标签: javascript html greasemonkey tampermonkey userscripts


    【解决方案1】:

    这是一个基于您可以处理的上述页面的基本示例:

    // ==UserScript==
    // @name            Div to Anchor
    // @match           https://www.usa.canon.com/internet/portal/us/home/about/newsroom/press-releases
    // ==/UserScript==
    
    // --- template
    const temp = document.createElement('a');
    temp.target = '_blank';                    // open in a new tab
    
    document.querySelectorAll('div[onclick^="window.location.href="]').forEach(item => {
      const a = temp.cloneNode();
      a.href = item.getAttribute('onclick').slice(22, -2);
      a.textContent = item.textContent;
      item.replaceWith(a);
    });
    

    【讨论】:

      猜你喜欢
      • 2020-01-15
      • 2020-10-15
      • 1970-01-01
      • 1970-01-01
      • 2011-07-14
      • 1970-01-01
      • 2010-09-26
      • 1970-01-01
      相关资源
      最近更新 更多