URLとタイトルを取得するブックマークレット
2024年09月18日 水曜日 12時00分こんにちは。お久しぶりです。
自分用のメモです。
ブックマークレットって、SafariやChromeなど、基本的にどのブラウザでも同じように動くので、便利ですよね。
ブックマークレットの基本形
javascript:(function() {
// ここにコードをかく
})();
URLとタイトルを取得するブックマークレット
適当に書きました。
javascript:(function() {
const title = document.title;
const url = new URL(window.location.href);
const copyText = `\n${title}\n${url}\n`;
const dummy = document.createElement('textarea');
document.body.appendChild(dummy);
dummy.value = copyText;
dummy.select();
document.execCommand('copy');
document.body.removeChild(dummy);
window.alert(copyText);
})();
コードを1行にする
ChatGPTに以下のようなプロンプトでお願いすると、適当に1行にしてくれます。
以下のブックマークレットから不要なスペースや改行を削除して、1行にしてください。
```javascript
javascript:(function() {
const title = document.title;
const url = new URL(window.location.href);
const copyText = `\n${title}\n${url}\n`;
const dummy = document.createElement('textarea');
document.body.appendChild(dummy);
dummy.value = copyText;
dummy.select();
document.execCommand('copy');
document.body.removeChild(dummy);
window.alert(copyText);
})();
```
結果
javascript:(function(){const title=document.title;const url=new URL(window.location.href);const copyText=`\n${title}\n${url}\n`;const dummy=document.createElement('textarea');document.body.appendChild(dummy);dummy.value=copyText;dummy.select();document.execCommand('copy');document.body.removeChild(dummy);window.alert(copyText);})();
コードをミニファイする
ChatGPTに以下のようなプロンプトでお願いすると、ミニファイしてくれます。
以下のブックマークレットを、ミニファイしてください。
```javascript
javascript:(function() {
const title = document.title;
const url = new URL(window.location.href);
const copyText = `\n${title}\n${url}\n`;
const dummy = document.createElement('textarea');
document.body.appendChild(dummy);
dummy.value = copyText;
dummy.select();
document.execCommand('copy');
document.body.removeChild(dummy);
window.alert(copyText);
})();
```
結果
javascript:(function(){const t=document.title,u=new URL(window.location.href),c=`\n${t}\n${u}\n`,d=document.createElement("textarea");document.body.appendChild(d),d.value=c,d.select(),document.execCommand("copy"),document.body.removeChild(d),window.alert(c)})();