-
Notifications
You must be signed in to change notification settings - Fork 0
/
bookmarklet.js
53 lines (40 loc) · 1.77 KB
/
bookmarklet.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
javascript:(function(){
const GAS_API_URL = 'https://script.google.com/macros/s/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/exec';
let script = document.createElement('script');
script.src = GAS_API_URL + '?callback=copyLgtm';
document.body.appendChild(script);
document.body.removeChild(script);
window.copyLgtm = function(data) {
let json = JSON.stringify(data);
let jsonParse = JSON.parse(json);
execCopy(jsonParse.data.lgtm);
displayCopyImg(jsonParse.data.lgtm_url, jsonParse.data.description);
};
window.execCopy = function(string) {
let copyElement = document.createElement('div');
copyElement.style.cssText = 'position: fixed; right: 200%;';
let pre = document.createElement('pre');
pre.style.cssText = '-webkit-user-select: auto; user-select: auto;';
copyElement.appendChild(pre).textContent = string;
document.body.appendChild(copyElement);
document.getSelection().selectAllChildren(copyElement);
document.execCommand('copy');
document.body.removeChild(copyElement);
};
window.displayCopyImg = function(lgtmImgUrl, description) {
let displayElement = document.createElement('div');
displayElement.style.cssText = 'position: fixed; bottom: 1%; right: 1%; z-index: 9999;';
let p = document.createElement('p');
p.textContent = description;
p.style.cssText = 'position: absolute; top: 0; left: 0.5em; margin: 0; color :white; font-weight: bold;';
displayElement.appendChild(p);
let img = document.createElement('img');
img.src = lgtmImgUrl;
img.style.width = (window.parent.screen.width * 0.2) + 'px';
displayElement.appendChild(img);
document.body.appendChild(displayElement);
setTimeout(function() {
document.body.removeChild(displayElement);
}, 3000);
};
})();