您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Turn plain-text URLs into hyperlinks
// ==UserScript== // @name Linkify // @version 0.1 // @namespace http://youngpup.net/userscripts // @description Turn plain-text URLs into hyperlinks // @include * // ==/UserScript== // based on code by Aaron Boodman // and included here with his gracious permission var urlRegex = /\b(https?:\/\/[^\s+\"\<\>]+)/ig; var snapTextElements = document.evaluate("//text()[not(ancestor::a) " + "and not(ancestor::script) and not(ancestor::style) and " + "contains(translate(., 'HTTP', 'http'), 'http')]", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); for (var i = snapTextElements.snapshotLength - 1; i >= 0; i--) { var elmText = snapTextElements.snapshotItem(i); if (urlRegex.test(elmText.nodeValue)) { var elmSpan = document.createElement("span"); var sURLText = elmText.nodeValue; elmText.parentNode.replaceChild(elmSpan, elmText); urlRegex.lastIndex = 0; for (var match = null, lastLastIndex = 0; (match = urlRegex.exec(sURLText)); ) { elmSpan.appendChild(document.createTextNode( sURLText.substring(lastLastIndex, match.index))); var elmLink = document.createElement("a"); elmLink.setAttribute("href", match[0]); elmLink.appendChild(document.createTextNode(match[0])); elmSpan.appendChild(elmLink); lastLastIndex = urlRegex.lastIndex; } elmSpan.appendChild(document.createTextNode( sURLText.substring(lastLastIndex))); elmSpan.normalize(); } }