Open Select url

i鼠标划选url,点击图标新窗口打开链接。

当前为 2016-12-26 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Open Select url
  3. // @version 2016.12.13
  4. // @author kiki
  5. // @include http*://*/*
  6. // @description i鼠标划选url,点击图标新窗口打开链接。
  7. // @grant GM_getValue
  8. // @grant GM_setValue
  9. // @grant GM_openInTab
  10. // @grant GM_setClipboard
  11. // @connect-src *
  12. // @namespace https://greasyfork.org/users/15432
  13. // ==/UserScript==
  14.  
  15. (function() {
  16. 'use strict';
  17. document.onclick=function(e){
  18. var x = e.pageX,y = e.pageY;
  19. // alert(x);
  20. // alert(y);
  21. if (!document.getElementById("img_link")){
  22. var img = document.createElement('img');
  23. img.setAttribute("id","img_link");
  24. img.setAttribute("src","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABjElEQVR42p3UyytEYRjH8WHHNOOSycKlzAaTIlmLlZCFSyk1Lisrf4KdlZWVS1kol62SrOxsFIWQQm4NyWpcxyXyfes39TbOjHPmqU+NM8fPc97nOXw+75WHcWzjGruYRJEvyxrGG76xhRN9PkCBl6BchT3iDA3Wd2MKHfUS2IcPhaV2koMHbLoNG8CzzqwmzT372HE7BHPzDcoQRAv81j2N+MG0m8ASPGFWPy/hXaE+TfcCr2hyExjSuXUozHSygAAiCosjqrN0rHwFhfSLVZi3wkxVIKZBRTN1NIgj7dq5wpa1Fuax2zCjMHMU3ek6M3vWq2nG9HidVmeLqMMdPnGs6aetEbV/hXJrAKazOYRRrO9KU6b857ySb8ApqrUa9gC6NJiQmylOIKGwoK61ajWSA1jRH3QVeKgBRKxrfu1ZQNO8xZ6W/N+Ka4pOVas3xAyq3+17eol1h+uFWhszqB4v/0XMOnyh3bpWrzDT/VCmN8CpwnosE7qGVX1OKCyrqsQU7vGCDTR77czUL2CsZM7vyjJlAAAAAElFTkSuQmCC");
  25. document.getElementsByTagName("body")[0].appendChild(img);
  26. }
  27. var imgs = document.getElementById("img_link");
  28. var txt = window.getSelection?window.getSelection():document.selection.createRange().text;
  29. var link = /(https?:\/\/)((\w|-|#|\?|=|\/|\+|%|&|:|;|!)+(\.)+)+/g;
  30. txt = txt.toString();
  31. if (txt.match(link) && imgs.style.display !== "block"){
  32. var txt_start = txt.match(/http/).index;
  33. txt = txt.slice(txt_start);
  34. var txt_end = txt.match(/\s|[\u4e00-\u9fa5]|\n|\r|'|"/).index;
  35. txt = txt.slice(0,txt_end);
  36. var url = txt;
  37. txt = null ;
  38. imgs.style.display = "block";
  39. imgs.style.position = "absolute" ;
  40. imgs.style.top = y - 15 + "px";
  41. imgs.style.left = x + "px" ;
  42. imgs.style.width = "20px" ;
  43. imgs.onmouseover = function(){imgs.style.opacity = "0.6";};
  44. imgs.onmouseout = function(){imgs.style.opacity = "1";};
  45. // document.execCommand('copy');
  46. imgs.onclick = function(){window.open(url);};
  47. }else {
  48. imgs.style.display = "none";
  49. txt = null;
  50. }
  51. };
  52. })();