リンク記法作成
by
furyu-tei
2022-02-16 [2022/02/16 12:37:26]
現在のページのURLとタイトルをリンク記法でコピー
-
/*
* @title リンク記法作成
* @description 現在のページのURLとタイトルをリンク記法でコピー
* @include http://*
* @include https://*
* @license MIT License
* @javascript_url
*/
((title, url) => {
'use strict';
const
copy_to_clipboard = (text_to_copy) => {
if (navigator.clipboard && window.isSecureContext) {
return navigator.clipboard.writeText(text_to_copy);
}
const
work_textarea = (() => {
const
textarea = document.createElement('textarea'),
style = textarea.style;
style.position = "absolute";
style.left = 0;
style.top = 0;
style.width = 0;
style.height = 0;
style.visibility = 'hidden';
return textarea;
})();
work_textarea.value = text_to_copy;
document.documentElement.appendChild(work_textarea);
//work_textarea.focus();
work_textarea.select();
return new Promise((resolve, reject) => {
if (document.execCommand('copy')) {
resolve();
}
else {
reject();
}
work_textarea.remove();
});
},
message = `[${title}](${url})`;
copy_to_clipboard(message)
.then(() => {
alert(`${message}\n=> Copied to clipboard.`);
})
.catch((error) => {
console.error(error);
prompt(title, message);
});
})(document.title, location.href);
-
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。