/*
* @title タイトルとかのコピー
* @description 出てきたやつをクリックするとクリップボードに入ります。外枠をダブルクリックすると消えます。
* @include *
* @license MIT License
* @javascript_url
*/
// タイトルコピーするために入れたアドオンが次々使えなくなっていくからこれでしのぐっていう用途
(() => {
// 元のコード: https://gist.github.com/noromanba/d730ccf3ae5e6916cd60
const canonical = (document.querySelector('head meta[property="og:url"][content]') || {}).content ||
(document.querySelector('head link[rel="canonical"][href]') || {}).href ||
location.href;
const title = document.title;
const hatenalink = `[${canonical}:title=${title}]`;
const base = document.body.appendChild(Object.assign(document.createElement('div'), {
id: 'copy-buttons',
style: 'background-color: white; border: 1px solid silver;padding: 1em; position: fixed; top: 0; left: 0; z-index: 2147483646;'
}));
base.addEventListener('dblclick', e => {
document.body.removeChild(e.target);
e.stopPropagation();
}, false);
[{ label: 'CanonicalURL', value: canonical },
{ label: 'タイトル', value: title },
{ label: 'はてな記法', value: hatenalink }].forEach(({label, value}) => {
base.appendChild(Object.assign(document.createElement('label'), {
style: 'display: block; color: black; background-color: silver;',
textContent: `${label}: `
})).appendChild(Object.assign(document.createElement('input'), {
style: 'color: black; background-color: silver; margin: 0.5em;',
value: value
})).addEventListener('click', e => {
e.target.select();
document.execCommand('copy');
e.stopPropagation();
}, false);
});
})();