您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Turns text-URLs into working links. This applies to every webpage
// ==UserScript== // @author ZSMTurker // @name ZSMTurker's Linkify // @namespace https://greasyfork.org/users/2291 // @description Turns text-URLs into working links. This applies to every webpage // so turn it off if you don't need it, it can slow things down. // @match http://*/* // @match https://*/* // @require http://code.jquery.com/jquery-latest.min.js // @grant GM_xmlhttpRequest // @grant GM_getValue // @grant GM_setValue // @version 0.1 // ==/UserScript== function linkify(string, buildHashtagUrl, includeW3, target, noFollow) { relNoFollow = ""; if (noFollow) { relNoFollow = " rel=\"nofollow\""; } string = string.replace(/((http|https|ftp)\:\/\/|\bw{3}\.)[a-z0-9\-\.]+\.[a-z]{2,3}(:[a-z0-9]*)?\/?([a-z\u00C0-\u017F0-9\-\._\?\,\'\/\\\+&%\$#\=~])*/gi, function(captured) { var uri; if (captured.toLowerCase().indexOf("www.") == 0) { if (!includeW3) { return captured; } uri = "http://" + captured; } else { uri = captured; } return "<a href=\"" + uri+ "\" target=\"" + target + "\"" + relNoFollow + ">" + captured + "</a>"; }); if (buildHashtagUrl) { string = string.replace(/\B#(\w+)/g, "<a href=" + buildHashtagUrl("$1") +" target=\"" + target + "\"" + relNoFollow + ">#$1</a>"); } return string; } (function($) { $.fn.linkify = function(opts) { return this.each(function() { var $this = $(this); var buildHashtagUrl; var includeW3 = true; var target = '_self'; var noFollow = true; if (opts) { if (typeof opts == "function") { buildHashtagUrl = opts; } else { if (typeof opts.hashtagUrlBuilder == "function") { buildHashtagUrl = opts.hashtagUrlBuilder; } if (typeof opts.includeW3 == "boolean") { includeW3 = opts.includeW3; } if (typeof opts.target == "string") { target = opts.target; } if (typeof opts.noFollow == "boolean") { noFollow = opts.noFollow; } } } $this.html( $.map( $this.contents(), function(n, i) { if (n.nodeType == 3) { return linkify(n.data, buildHashtagUrl, includeW3, target, noFollow); } else { return n.outerHTML; } } ).join("") ); }); } })(jQuery); $( window ).on( 'load', function() { $('p').linkify(); } );