AmazonのURLを最小限に綺麗にして、URLとタイトルを取得するブックマークレット
こんにちは。お久しぶりです。
自分用のメモです。
ブックマークレットって、SafariやChromeなど、基本的にどのブラウザでも同じように動くので、便利ですよね。(2回目)
AmazonのURLって、色々なパラメーターが設定されています。 Raindropへ保存する際や、誰かに共有する際に、汚いURLは嫌なので、最小限で綺麗なURLを準備したいことがあります。
作る前に、ググってみましたが、いまいちピンとくるものがなかったので、作りました。
URLとタイトルを取得するブックマークレット
適当に書きました。
1javascript:(function() {
2 const title = document.title;
3 const url = new URL(window.location.href);
4 const pathNameArray = url.pathname.split('/');
5 const dpIndex = pathNameArray.indexOf('dp');
6 if (dpIndex === -1) {
7 window.alert('not found `dp`');
8 } else {
9 const dpValue = pathNameArray[dpIndex + 1];
10 const cleanUrl = `https://www.amazon.co.jp/dp/${dpValue}/`;
11 const copyText = `\n${title}\n${cleanUrl}\n`;
12 const dummy = document.createElement('textarea');
13 document.body.appendChild(dummy);
14 dummy.value = copyText;
15 dummy.select();
16 document.execCommand('copy');
17 document.body.removeChild(dummy);
18 window.alert(copyText);
19 }
20})();
コードを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 pathNameArray = url.pathname.split('/');
8 const dpIndex = pathNameArray.indexOf('dp');
9 if (dpIndex === -1) {
10 window.alert('not found `dp`');
11 } else {
12 const dpValue = pathNameArray[dpIndex + 1];
13 const cleanUrl = `https://www.amazon.co.jp/dp/${dpValue}/`;
14 const copyText = `\n${title}\n${cleanUrl}\n`;
15 const dummy = document.createElement('textarea');
16 document.body.appendChild(dummy);
17 dummy.value = copyText;
18 dummy.select();
19 document.execCommand('copy');
20 document.body.removeChild(dummy);
21 window.alert(copyText);
22 }
23})();
24```
結果
1javascript:(function(){const title=document.title;const url=new URL(window.location.href);const pathNameArray=url.pathname.split('/');
Tags: