您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
让你发给别人的链接更简洁
当前为
// ==UserScript== // @name 网页短链接 // @namespace none // @version 0.2 // @description 让你发给别人的链接更简洁 // @author Kaxyubok // @match http://*/* // @match https://*/* // @grant GM_xmlhttpRequest // @grant GM_addStyle // ==/UserScript== GM_addStyle(".hide{display: none;}.sto{color: #000;z-index: 10000;}.sto ul,.sto li{margin: 0;padding: 0;list-style: none;}.short-url{position: fixed;top: 0;left: 0;width: 200px;box-shadow: rgba(0, 0, 0, 0.5) 2px 2px 3px;border: 1px solid rgb(204, 204, 204);background: rgba(255, 255, 255, 0.9);cursor: pointer;text-align: center;font-size: 14px;}.url-title{width: 100%;height: 20px;line-height: 20px;font-size: 12px;margin-bottom: 2px;}.url-item{width: 100%;height: 24px;line-height: 24px;transition: all 0.2s linear;}.url-item:hover{background-color: #eee;}.sto input{opacity: 0;position: fixed;left: 50%;top: 50%;transform: translate(-50%,-50%);}.tip{position: fixed;left: 50%;top: 50%;transform: translate(-50%,-50%);width: 200px;height: 60px;line-height:60px;border-radius: 6px;text-align: center;}.tip.succ{background-color: #88ffc8;}.tip.erro{background-color: red;}"); const statusSucc = 1; const statusErr = 0; let doc = document, el = doc.createElement('div'), content = '<div class="short-url hide">' + '<div class="url-title">选择短链接</div>' + '<ul>' + '<li class="url-item baidu" data-to="baidu">百度</li>' + '<li class="url-item" data-to="sina">新浪</li>' + '<li class="url-item" data-to="suoim">suo.im</li>' + '</ul>' + '</div>' + '<input type="text" value="">' + '<div class="tip hide"></div>'; el.classList = 'sto'; el.innerHTML = content; doc.body.appendChild(el); let urlBar = doc.querySelector('.short-url'), shortUrl = doc.querySelector('.sto input'), tip = doc.querySelector('.tip'); let href = window.location.href, baidu = 'http://dwz.mn/create.aspx?url=', sina = 'https://api.t.sina.com.cn/short_url/shorten.json?source=1681459862&url_long=', suoim = 'http://suo.im/api.php?format=json&url='; function addClass(obj, cls) { obj.classList.add(cls); } function removeClass(obj, cls) { obj.classList.remove(cls); } function position(ev) { let clientWidth = doc.documentElement.clientWidth, clientHeight = doc.documentElement.clientHeight, x = ev.clientX, y = ev.clientY; if ((x + urlBar.offsetWidth) > clientWidth) { x -= urlBar.offsetWidth; } if ((y + urlBar.offsetHeight) > clientHeight) { y -= urlBar.offsetHeight; } urlBar.style.left = x + 'px'; urlBar.style.top = y + 'px'; } function dataFilter(type, data) { let res = {}; switch (type) { case 'baidu': if (data.status === 0) { res.status = statusSucc; res.url = data.tinyurl; res.message = '复制成功'; } else { res.status = statusErr; res.url = ''; res.message = data.err_msg; } break; case 'sina': if (data.error_code === '400') { res.status = statusErr; res.url = ''; res.message = crossUrldata.error; } else { res.status = statusSucc; res.url = data[0].url_short; res.message = '复制成功'; } break; case 'suoim': if (data.url === '') { res.status = statusErr; res.url = ''; res.message = data.err; } else { res.status = statusSucc; res.url = data.url; res.message = '复制成功'; } break; } return res; } let copyUrl = function (copy) { copy.focus(); copy.setSelectionRange(0, copy.value.length); try { if (document.execCommand('copy')) { addClass(tip, 'succ'); } else { addClass(tip, 'erro'); } removeClass(tip, 'hide'); } catch (e) { alert(e); } }; let dataGet = function (param, type) { let website; switch (type) { case 'baidu': website = baidu; break; case 'sina': website = sina; break; case 'suoim': website = suoim; break; } GM_xmlhttpRequest({ method: 'GET', synchronous: true, url: website + param, onload: function (res) { res = JSON.parse(res.response); let data = dataFilter(type, res); if (data.status === 1) { shortUrl.value = data.url; // copyUrl(shortUrl); } tip.innerText = data.message; } }); }; document.oncontextmenu = function (e) { if (e.ctrlKey) { removeClass(urlBar, 'hide'); position(e); return false; } }; urlBar.querySelector('ul').addEventListener('click', function (e) { let el = e.target; let type = el.getAttribute('data-to'); dataGet(href, type); setTimeout(() => { copyUrl(shortUrl); }, 1000); addClass(urlBar, 'hide'); setTimeout(() => { addClass(tip, 'hide'); }, 3000); });
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址