tinyurl.com 縮短網址按鈕

在頁面左下角設置一個縮短網址的按鈕,這會開個新視窗來檢視 tinyurl 的縮址結果

目前為 2021-01-26 提交的版本,檢視 最新版本

  1. // ==UserScript==
  2. // @name tinyurl.com - URL shorten button
  3. // @name:zh-TW tinyurl.com 縮短網址按鈕
  4. // @name:zh-CN tinyurl.com 缩短网址按钮
  5. // @description Add a URL shorten button to the bottom left corner. It will create a new window for the shortened URL of cutt.ly
  6. // @description:zh-TW 在頁面左下角設置一個縮短網址的按鈕,這會開個新視窗來檢視 tinyurl 的縮址結果
  7. // @description:zh-CN 在页面左下角设置一个缩短网址的按钮,这会开个新视窗来查看 tinyurl 的缩址结果
  8. // @namespace https://greasyfork.org/zh-TW/users/393133-evan-tseng
  9. // @version 0.21
  10. // @author Evan Tseng
  11. // @run-at document-end
  12. // @include *://*
  13. // @exclude *://tinyurl.com/*
  14. // @grant none
  15. // ==/UserScript==
  16.  
  17. (function() {
  18. 'use strict';
  19. if(self == top) {
  20. var addTinyButton = (function() {
  21. if(document.readyState !== "loading") {
  22. setTimeout(function(){
  23. const windowWidth = 800,
  24. windowHeight = (navigator.appVersion.indexOf("Mac")!=-1)? 400 : 450;
  25. let strWindowFeatures = 'width=' + windowWidth + ',height=' + windowHeight + ',left=' + ((screen.width - windowWidth) / 2) + ',top=' + ((screen.height - windowHeight) / 3) + ',menubar=no,toolbar=no,location=no,status=no',
  26. cssStyle = document.createElement('style'),
  27. css = `
  28. .__shorten_wrap__ { display:block; position:fixed; bottom:23mm; left:0; width:0; height:0; outline:1px solid #F00; z-index:2147483646; transform:rotate(90deg); }
  29. .__shorten_btn__ { position:absolute!important; bottom:-10px!important; right:0!important; font:400 11pt sans-serif!important; width:auto!important; color:#334!important; text-shadow:1px -1px rgba(255,255,255,.6); background:linear-gradient(5deg, rgba(170,170,175,.85) 0, rgba(210,210,215,.8) 50%, rgba(170,170,175,.85) 100%)!important; padding:.3em .6em 1em!important; margin:0!important; line-height:1!important; border:1px solid rgba(0,0,0,.4)!important; border-radius:6px 6px 0 0!important; white-space:nowrap; cursor:pointer!important; transition:.15s!important }
  30. .__shorten_btn__:hover { background:linear-gradient(5deg, rgba(190,190,190,.95) 0, rgba(230,230,230,.95) 50%, rgba(190,190,190,.95) 100%)!important; border:1px solid rgba(0,0,0,.4)!important; box-shadow:1px 0 4pt rgba(0,0,0,.5)!important }
  31. .__shorten_btn__:active { color:#cdf!important; text-shadow:-1px 1px #666!important; background:rgba(125,125,133,.8)!important; border-color:rgba(255,255,255,.6)!important; box-shadow:inset 1px 0 4pt rgba(0,0,0,.7)!important; transition:0s!important }
  32. @media not screen { .__shorten_wrap__ { display:none } }`;
  33. if(cssStyle.styleSheet) cssStyle.styleSheet.cssText = css;
  34. else cssStyle.appendChild(document.createTextNode(css));
  35. document.querySelector('head').appendChild(cssStyle);
  36.  
  37. let shortenWrap = document.createElement('div');
  38. shortenWrap.setAttribute("class", "__shorten_wrap__");
  39. document.body.appendChild(shortenWrap);
  40.  
  41. let shortenButton = document.createElement('button');
  42. shortenButton.setAttribute("class", "__shorten_btn__");
  43. shortenButton.innerText = "TinyURL";
  44. shortenWrap.appendChild(shortenButton);
  45.  
  46. shortenButton.addEventListener("click", function(){
  47. window.open('https://tinyurl.com/create.php?app=scpt&url=' + encodeURIComponent(location.href), "", strWindowFeatures);
  48. });
  49. }, 500);
  50. }
  51. else setTimeout(addTinyButton, 500);
  52. })();
  53. }
  54. })();