AmazonのURLを最小限に綺麗にして、URLとタイトルを取得するブックマークレット
2024年10月02日 水曜日 22時00分こんにちは。お久しぶりです。
自分用のメモです。
ブックマークレットって、SafariやChromeなど、基本的にどのブラウザでも同じように動くので、便利ですよね。(2回目)
AmazonのURLって、色々なパラメーターが設定されています。 Raindropへ保存する際や、誰かに共有する際に、汚いURLは嫌なので、最小限で綺麗なURLを準備したいことがあります。
作る前に、ググってみましたが、いまいちピンとくるものがなかったので、作りました。
URLとタイトルを取得するブックマークレット
適当に書きました。
javascript:(function() {
const title = document.title;
const url = new URL(window.location.href);
const pathNameArray = url.pathname.split('/');
const dpIndex = pathNameArray.indexOf('dp');
if (dpIndex === -1) {
window.alert('not found `dp`');
} else {
const dpValue = pathNameArray[dpIndex + 1];
const cleanUrl = `https://www.amazon.co.jp/dp/${dpValue}/`;
const copyText = `\n${title}\n${cleanUrl}\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 pathNameArray = url.pathname.split('/');
const dpIndex = pathNameArray.indexOf('dp');
if (dpIndex === -1) {
window.alert('not found `dp`');
} else {
const dpValue = pathNameArray[dpIndex + 1];
const cleanUrl = `https://www.amazon.co.jp/dp/${dpValue}/`;
const copyText = `\n${title}\n${cleanUrl}\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 pathNameArray=url.pathname.split('/');