将chrome当前访问的地址缩短并生成二维码 支持360浏览器 var qrcode, surlEl; if (typeof chrome.tabs !== 'undefined') { chrome.tabs.getSelected(function (w) { surlEl = G('surl'); toShortUrl(w.url).then(function (surl) { surl
支持360浏览器
var qrcode, surlEl; if (typeof chrome.tabs !== 'undefined') { chrome.tabs.getSelected(function (w) { surlEl = G('surl'); toShortUrl(w.url).then(function (surl) { surlEl.value = surl; if (!qrcode) { qrcode = new QRCode("qr", { text: surl, width: 300, height: 300, colorDark: "#000000", colorLight: "#ffffff", correctLevel: QRCode.CorrectLevel.H }); } else { qrcode.clear(); qrcode.makeCode(surl); } }).catch(function (err) { surlEl.value = err; }); surlEl.blur(); G('onekeycopy').focus(); }); } G('onekeycopy').onclick = function () { var t = this; var copyDiv = G('surl'); execCopy(copyDiv); t.innerHTML = '已复制到剪切板'; t.style.backgroundColor = '#aaa'; setTimeout(function () { t.innerHTML = '一键复制'; t.style.backgroundColor = 'green'; }, 1000); }; function execCopy(copyDiv) { copyDiv.focus(); document.execCommand('SelectAll'); document.execCommand("Copy", false, null); } function toShortUrl(url) { var requestURL = 'https://50r.cn/short_url.json?url=' + encodeURIComponent(url); return new Promise(function (resolve, reject) { get(requestURL).then(function (data) { resolve(data.url); }).catch(function (err) { reject("Error: " + err); }); }); } function get(url) { return new Promise(function (resolve, reject) { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function () { if (xhr.readyState == 4) { if (xhr.status === 200) { var responseText = xhr.responseText; var contentType = xhr.getResponseHeader("Content-Type"); if (contentType && contentType.indexOf('application/json') === 0) { responseText = JSON.parse(responseText); if (responseText.error) { reject(responseText.error || 'error.'); } } resolve(responseText); } else { reject(xhr.responseText || 'ajax error!'); } } }; xhr.open('get', url, true); xhr.send(); }); } function G(element) { return document.getElementById(element) }