Teruhiro Komaki's Blog (Temporary)

URLとタイトルを取得するブックマークレット

こんにちは。お久しぶりです。

自分用のメモです。

ブックマークレットって、SafariやChromeなど、基本的にどのブラウザでも同じように動くので、便利ですよね。

ブックマークレットの基本形

1javascript:(function() {
2  // ここにコードをかく
3})();

URLとタイトルを取得するブックマークレット

適当に書きました。

 1javascript:(function() {
 2  const title = document.title;
 3  const url = new URL(window.location.href);
 4  const copyText = `\n${title}\n${url}\n`;
 5  const dummy = document.createElement('textarea');
 6  document.body.appendChild(dummy);
 7  dummy.value = copyText;
 8  dummy.select();
 9  document.execCommand('copy');
10  document.body.removeChild(dummy);
11  window.alert(copyText);
12})();

コードを1行にする

ChatGPTに以下のようなプロンプトでお願いすると、適当に1行にしてくれます。

 1以下のブックマークレットから不要なスペースや改行を削除して、1行にしてください。
 2
 3```javascript
 4javascript:(function() {
 5  const title = document.title;
 6  const url = new URL(window.location.href);
 7  const copyText = `\n${title}\n${url}\n`;
 8  const dummy = document.createElement('textarea');
 9  document.body.appendChild(dummy);
10  dummy.value = copyText;
11  dummy.select();
12  document.execCommand('copy');
13  document.body.removeChild(dummy);
14  window.alert(copyText);
15})();
16```

結果

1javascript:(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に以下のようなプロンプトでお願いすると、ミニファイしてくれます。

 1以下のブックマークレットを、ミニファイしてください。
 2
 3```javascript
 4javascript:(function() {
 5  const title = document.title;
 6  const url = new URL(window.location.href);
 7  const copyText = `\n${title}\n${url}\n`;
 8  const dummy = document.createElement('textarea');
 9  document.body.appendChild(dummy);
10  dummy.value = copyText;
11  dummy.select();
12  document.execCommand('copy');
13  document.body.removeChild(dummy);
14  window.alert(copyText);
15})();
16```

結果

1javascript:(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)})();
Tags:
comments powered by Disqus