Javascript 使用Tampermonkey解除电话:链接的链接

Javascript 使用Tampermonkey解除电话:链接的链接,javascript,jquery,google-chrome,greasemonkey,tampermonkey,Javascript,Jquery,Google Chrome,Greasemonkey,Tampermonkey,我想使用Tampermonkey剥离您要查找的标记名是a,如 tel不是标签名。示例中的标记是a,您确定要专门使用jquery吗?使用jQuery可以实现这一点,但这不是必需的。您当前的代码没有使用它,因此这本身不是Jquery问题。此外,您需要使用@run at document end,请参阅我的答案以获得解释。谢谢您的帮助!看起来很棒,但是,它还不适合我!我已经编辑了我的初始问题,以便在运行时包含代码,如果您注意到警告:“检查”-不幸的是,它在页面加载完成之前显示,尽管我指示代码只在@文档

我想使用Tampermonkey剥离
您要查找的标记名是
a
,如


tel不是标签名。示例中的标记是
a
,您确定要专门使用jquery吗?使用jQuery可以实现这一点,但这不是必需的。您当前的代码没有使用它,因此这本身不是Jquery问题。此外,您需要使用
@run at document end
,请参阅我的答案以获得解释。谢谢您的帮助!看起来很棒,但是,它还不适合我!我已经编辑了我的初始问题,以便在运行时包含代码,如果您注意到警告:“检查”-不幸的是,它在页面加载完成之前显示,尽管我指示代码只在
@文档结束时运行
,但如果只等待页面完成加载,我毫不怀疑代码会工作得很好。
文档结束
发生在HTML解析之后,但它可能仍在呈现。警报在这里不是一个好的选择。尝试执行
console.log(“Links:,linksTel)
并查看数组是否为空。如果是,可能链接是由某个脚本动态创建的。若要检查,请在网站中按Ctrl+U以查看从服务器发送的HTML源代码。如果脚本正在创建链接,有一些解决方案,但它们要么复杂,要么丑陋。是的,我认为涉及CDN,HTML源代码非常少。我认为这是脚本生成的。谢谢。@daneee好吧,如果你不介意一个肮脏的解决方案,只需将整个脚本包装在
setInterval
中即可。如果您希望它干净,请阅读,它允许您处理HTML中的任何更改。
// ==UserScript==
// @name        Localhost Tel: link remover
// @author      Dan
// @match       *://localhost/*
// @version     2019.08.15
// @grant       none
// @run-at      document-start
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js


console.log('Started Localhost Tel: killer...');

// ==/UserScript==
var anchors = document.getElementsByTagName('tel');

for (var i = 0; i < anchors.length; i++) {
  anchors[i].href = anchors[i].href.split("?")[0];
}
// ==UserScript==
// @name        tel: remover
// @match       *redacted*
// @version     2019.08.15
// @run-at      document-end
// ==/UserScript==

const linksTel = [...document.querySelectorAll("a")].filter((link)=>link.href.startsWith("tel:"));

for(let linkTel of linksTel) {
    const parent = linkTel.parentNode;
    // Trim will remove extra spaces at the beginning and end
    const newTextNode = new Text(linkTel.innerText.trim());
    parent.replaceChild(newTextNode, linkTel);
}
   alert("check");
const links = document.querySelectorAll("a");
const linksArray = [...links];
const linksTel = linksArray.filter((link)=>link.href.startsWith("tel:"));
for(let linkTel of linksTel) {
    const parent = linkTel.parentNode;
    // Trim will remove extra spaces at the beginning and end
    const newTextNode = new Text(linkTel.innerText.trim());
    parent.replaceChild(newTextNode, linkTel);
}