はてなブログで引用するのにちょっと便利な機能拡張 ちょっと追加

皆さん、完成という言葉を不用意に使ってはいけませんヨヨヨ。
snack.elve.club

というわけで、図(png,gif,jpeg,jpg)とpdfを追加しようとしてですね・・・pdfはタイトル欲しかったんですが・・・ワイの頭では無理じゃ、というわけで、urlのみです。

pdfの拡張機能使ってるとうまく動かん

function main() {
allurl = location.href;
prtcl = location.protocol;
hst = location.host;
localpath = location.pathname;
localpara = location.search;
const selectedText = window.getSelection().toString();
//テキストを選択していたら引用記法
//google
//[google:検索ワード]
if (hst.match(/.*google.com.*/g)) {
result = localpara.replace(/.*q=([^&]*)&.*/g, '$1');
result = decodeURI(result)
if (result == null) {
result = "NULL";
}
copyToClipboard("[google:" + result + "]");
//wikipedia
//[wikipedia:項目目]
} else if (hst.match(/.*wikipedia.org.*/g)) {
result = localpath.replace(/\/wiki\/(.*)/g, '$1');
result = decodeURI(result)
if (result == null) {
result = "NULL";
}
copyToClipboard("[wikipedia:" + result + "]");
} else if (localpath.match(/\.mp3/g)) {
//mp3
str = '<audio src="' + prtcl + '\/\/' + hst + localpath + '" controls></audio>';
copyToClipboard(str);
} else if (localpath.match(/\.mp4/g)) {
//mp4
str = '<video src="' + prtcl + '\/\/' + hst + localpath + '" controls></video>';
copyToClipboard(str);
} else if (localpath.match(/(\.gif|\.jpg|\.jpeg|\.png)/g)) {
//iamge
str = '<a href="' + allurl + '" ><img src="' + allurl + '" ></a>';
copyToClipboard(str);
} else if (localpath.match(/\.pdf/g)) {
//pdf
const e = document.createElement('textarea');
e.value = "[" + allurl + ":title]";
document.querySelector('body').append(e);
e.select();
copyToClipboard(e.value);
e.remove();
} else if (localpath.match(/.*viewer\.html\?pdfurl=.*/)) {
//pdf<うごかねぇ>
copyToClipboard("[" + allurl + ":title=" + location.title + "]");
} else if (selectedText) {
//>ページのURL:titel>
//選択文章(改行コード含む)
//<<
str = ">" + allurl + ":title>\n" + selectedText + "\n<<\n";
copyToClipboard(str);
} else {
//[URL:title]
copyToClipboard("[" + allurl + ":title]");
}
}
//https://mseeeen.msen.jp/copy-text-to-clipboard-with-javascript-in-2021/
async function copyToClipboard(text) {
try {
await navigator.clipboard.writeText(text)
} catch (error) {
alert((error && error.message) || 'コピーに失敗しました')
}
}
main();

どのくらい面白かった?

星を押して送信してね

平均 0 / 5. Vote count: 0

是非フォローしてください

最新の情報をお伝えします

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です