cutt.ly URL shorten button

set a URL-shorten button at the bottom left corner. It will create a new window for the shortened URL of cutt.ly

От 22.04.2020. Виж последната версия.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name		cutt.ly URL shorten button
// @name:zh-TW		cutt.ly 縮短網址按鈕
// @name:zh-CN		cutt.ly 缩短网址按钮
// @description		set a URL-shorten button at the bottom left corner. It will create a new window for the shortened URL of cutt.ly
// @description:zh-TW	在頁面左下角設置一個縮短網址的按鈕,這會開個新視窗來檢視 cutt.ly 的縮址結果
// @description:zh-CN	在页面左下角设置一个缩短网址的按钮,这会开个新视窗来查看 cutt.ly 的缩址结果
// @namespace	https://greasyfork.org/zh-TW/users/393133-evan-tseng
// @version		0.13
// @author		Evan Tseng
// @run-at		document-end
// @include		*://*
// @exclude		http://cutt.ly/*
// @exclude		https://cutt.ly/*
// @grant		none
// ==/UserScript==

(function() {
	'use strict';

	var addCuttButton = (function() {
		if(document.readyState == "interactive") {
			const newWindow = window.open,
				  CuttURL = 'https://cutt.ly/?shortenit=' + encodeURIComponent(location.href);

			let strWindowFeatures = 'width=500,height=874,top='+((screen.height-874)/4)+',left='+((screen.width-500)/2)+',menubar=no,toolbar=no,location=no,status=no',
				shortenWrap = null,
				shortenButton = null,
				cssStyle = document.createElement('style'),
				css = `.__shorten_wrap__ {position: fixed; bottom:25mm; left:-25pt; z-index:2147483647}
button.__shorten_url__ {font: 400 11pt Helvetica; color:#334; text-shadow:1px -1px rgba(255,255,255,.6); background:linear-gradient(3deg, rgba(170,170,175,.85) 0, rgba(210,210,215,.8) 50%, rgba(170,170,175,.85) 100%); padding: 0 .5em 1em; margin:0; line-height:2; border:1px solid rgba(0,0,0,.4); border-radius:5pt; cursor:pointer; transform:rotate(90deg); transition:.15s}
button.__shorten_url__:hover {background:linear-gradient(5deg, rgba(190,190,190,.95) 0, rgba(230,230,230,.95) 50%, rgba(190,190,190,.95) 100%); border:1px solid rgba(0,0,0,.4); box-shadow:1px 0 4pt rgba(0,0,0,.5)}
button.__shorten_url__:active {color:#cdf; text-shadow:-1px 1px #000; background:rgba(125,125,133,.8); border-color:rgba(255,255,255,.6); box-shadow:inset 1px 0 4pt rgba(0,0,0,.7); transition:0s}}`;
			if(cssStyle.styleSheet)	cssStyle.styleSheet.cssText = css;
			else	cssStyle.appendChild(document.createTextNode(css));
			document.querySelector('head').appendChild(cssStyle);

			shortenWrap = document.createElement('div');
			shortenWrap.setAttribute("class", "__shorten_wrap__");
			document.body.appendChild(shortenWrap);

			shortenButton = document.createElement('button');
			shortenButton.setAttribute("class", "__shorten_url__");
			shortenButton.innerText = "Cutt URL";
			shortenWrap.appendChild(shortenButton);
			shortenButton.addEventListener("click", function(){
				newWindow(CuttURL, "Cuttly URL", strWindowFeatures);
			});
		}
		else setTimeout(addCuttButton, 500);
	})();

})();