在浏览器的小书签中使用 JavaScript 以正则表达式编辑 URL
Using JavaScript in Browser's Bookmarklet to Edit the URL with Regex
所以我知道可以 运行 JavaScript 通过将它们存储在浏览器的书签中(又名 bookmarklet),但我不确定是否可以使用 bookmarklet自动编辑当前 URL(然后将您带到新的 URL)。
我想做什么:
在URL中,替换字符串
之前的所有内容(并包括)
/image/thumb/
与
https://a1.mzstatic.com/us/r1000/0/
并删除(并包括)last
之后的所有内容
/
例如,下面的 URL:
https://is2-ssl.mzstatic.com/image/thumb/Music/v4/4e/61/09/4e610911-7e0e-d348-8246-11ef6ffe00ab/886443607118.jpg/540x540bb.webp
应该成为(并重定向到)
https://a1.mzstatic.com/us/r1000/0/Music/v4/4e/61/09/4e610911-7e0e-d348-8246-11ef6ffe00ab/886443607118.jpg
点击带有 JavaScript 的书签后。
更多示例:
https://is2-ssl.mzstatic.com/image/thumb/Features122/v4/b0/26/80/b0268001-9527-3477-1df2-c68f02271a9f/ffe8be4a-2798-4a68-b691-9a91edb1c177.png/216x216sr.webp
应该成为(并重定向到)
https://a1.mzstatic.com/us/r1000/0/Features122/v4/b0/26/80/b0268001-9527-3477-1df2-c68f02271a9f/ffe8be4a-2798-4a68-b691-9a91edb1c177.png
https://is4-ssl.mzstatic.com/image/thumb/Video124/v4/ac/c2/b0/acc2b0a3-8105-2f22-2b0d-ea274223e959/Jobe81235fa-44f7-43f8-a7d6-421093c13e0b-110141253-PreviewImage_preview_image_nonvideo_sdr-Time1616098999993.png/300x300.jpg
应该成为(并重定向到)
https://a1.mzstatic.com/us/r1000/0/Video124/v4/ac/c2/b0/acc2b0a3-8105-2f22-2b0d-ea274223e959/Jobe81235fa-44f7-43f8-a7d6-421093c13e0b-110141253-PreviewImage_preview_image_nonvideo_sdr-Time1616098999993.png
使用 String.prototype.match(regExp)
获取您想要的 url 部分,然后将 url 部分与您的 url 前缀组合。
function replaceUrl(url) {
const prefix = 'https://a1.mzstatic.com/us/r1000/0';
const lastPart = url.split("/image/thumb/")[1];
const match = lastPart ? lastPart.slice(0, lastPart.lastIndexOf("/")) : null;
const targetUrl = match ? `${prefix}/${match}` : url;
return targetUrl;
}
const targetUrl = replaceUrl('https://is2-ssl.mzstatic.com/image/thumb/Music/v4/4e/61/09/4e610911-7e0e-d348-8246-11ef6ffe00ab/886443607118.jpg/540x540bb.webp');
添加小书签,小书签的脚本如下:
javascript:(function(){
function replaceUrl(url) {
const prefix = 'https://a1.mzstatic.com/us/r1000/0';
const lastPart = url.split("/image/thumb/")[1];
const match = lastPart ? lastPart.slice(0, lastPart.lastIndexOf("/")) : null;
const targetUrl = match ? `${prefix}/${match}` : url;
return targetUrl;
}
const targetUrl = replaceUrl(location.href);
window.open(targetUrl,"_blank");
})()
location.href
是当前标签的url,你可以改成任何你需要的(可能是url来自当前页面的链接等等)。
window.open()
的第二个参数可以是 _blank
(在新选项卡中打开)或 _self
(在当前选项卡中打开)
所以我知道可以 运行 JavaScript 通过将它们存储在浏览器的书签中(又名 bookmarklet),但我不确定是否可以使用 bookmarklet自动编辑当前 URL(然后将您带到新的 URL)。
我想做什么:
在URL中,替换字符串
之前的所有内容(并包括)/image/thumb/
与
https://a1.mzstatic.com/us/r1000/0/
并删除(并包括)last
之后的所有内容/
例如,下面的 URL:
https://is2-ssl.mzstatic.com/image/thumb/Music/v4/4e/61/09/4e610911-7e0e-d348-8246-11ef6ffe00ab/886443607118.jpg/540x540bb.webp
应该成为(并重定向到)
https://a1.mzstatic.com/us/r1000/0/Music/v4/4e/61/09/4e610911-7e0e-d348-8246-11ef6ffe00ab/886443607118.jpg
点击带有 JavaScript 的书签后。
更多示例:
https://is2-ssl.mzstatic.com/image/thumb/Features122/v4/b0/26/80/b0268001-9527-3477-1df2-c68f02271a9f/ffe8be4a-2798-4a68-b691-9a91edb1c177.png/216x216sr.webp
应该成为(并重定向到)
https://a1.mzstatic.com/us/r1000/0/Features122/v4/b0/26/80/b0268001-9527-3477-1df2-c68f02271a9f/ffe8be4a-2798-4a68-b691-9a91edb1c177.png
https://is4-ssl.mzstatic.com/image/thumb/Video124/v4/ac/c2/b0/acc2b0a3-8105-2f22-2b0d-ea274223e959/Jobe81235fa-44f7-43f8-a7d6-421093c13e0b-110141253-PreviewImage_preview_image_nonvideo_sdr-Time1616098999993.png/300x300.jpg
应该成为(并重定向到)
https://a1.mzstatic.com/us/r1000/0/Video124/v4/ac/c2/b0/acc2b0a3-8105-2f22-2b0d-ea274223e959/Jobe81235fa-44f7-43f8-a7d6-421093c13e0b-110141253-PreviewImage_preview_image_nonvideo_sdr-Time1616098999993.png
使用 String.prototype.match(regExp)
获取您想要的 url 部分,然后将 url 部分与您的 url 前缀组合。
function replaceUrl(url) {
const prefix = 'https://a1.mzstatic.com/us/r1000/0';
const lastPart = url.split("/image/thumb/")[1];
const match = lastPart ? lastPart.slice(0, lastPart.lastIndexOf("/")) : null;
const targetUrl = match ? `${prefix}/${match}` : url;
return targetUrl;
}
const targetUrl = replaceUrl('https://is2-ssl.mzstatic.com/image/thumb/Music/v4/4e/61/09/4e610911-7e0e-d348-8246-11ef6ffe00ab/886443607118.jpg/540x540bb.webp');
添加小书签,小书签的脚本如下:
javascript:(function(){
function replaceUrl(url) {
const prefix = 'https://a1.mzstatic.com/us/r1000/0';
const lastPart = url.split("/image/thumb/")[1];
const match = lastPart ? lastPart.slice(0, lastPart.lastIndexOf("/")) : null;
const targetUrl = match ? `${prefix}/${match}` : url;
return targetUrl;
}
const targetUrl = replaceUrl(location.href);
window.open(targetUrl,"_blank");
})()
location.href
是当前标签的url,你可以改成任何你需要的(可能是url来自当前页面的链接等等)。
window.open()
的第二个参数可以是 _blank
(在新选项卡中打开)或 _self
(在当前选项卡中打开)