首页 > 解决方案 > Tampermonkey 方法为页面上的所有“.jpg.webp”和“.png.webp”图像删除“.webp”扩展名?

问题描述

我必须下载并重新上传很多图像才能工作。通常,我从网页/服务器下载的图片格式为“XXX.jpg.webp”和“XXX.png.webp”。不幸的是,在将它们重新上传到其他地方时,我使用的系统将不接受“.webp”文件扩展名。在我下载了“.webp”文件类型的图像后,我必须将它们转换为纯“.jpg”和“.png”而不是“.webp”,以便将它们用于我的目的。

就目前而言,我已经编写了一个 Tampermonkey 脚本(在 Javascript 中)试图解决这个问题,但它只有在我在单独的选项卡中打开给定的“.webp”图像然后右键单击并保存时才有效。此方法在保存时会删除“.webp”的图像,但当且仅当我在单独的选项卡中打开它并右键单击以保存时。相反,我想在我找到它们的页面上剥离“.webp”扩展名的图像并将它们转换为“.png”或“.jpg”格式,而无需在单独的选项卡中打开图像一点也不。这是我正在使用的当前脚本 - 同样,它仅在我在单独的选项卡中打开图像时才有效:

document.querySelectorAll('img[src$=".jpg.webp"]').forEach(item =>
    item.src = item.src.replace('.webp', ''));

document.querySelectorAll('img[src$=".png.webp"]').forEach(item =>
    item.src = item.src.replace('.webp', ''));

这是我为之执行此操作的网页示例:https ://www.shareably.net/mom-helps-single-dad-groceries/ 。请注意图像如何具有“.webp”扩展名。

如何更改上述脚本或获得在原始网页上而不是在单独的选项卡中转换这些图像的解决方案?它最终会为我节省大量时间。任何和所有的指导将不胜感激。干杯!

标签: javascriptpngjpegtampermonkeywebp

解决方案


reddit.com/r/AskProgramming上的一位很棒的用户帮助我解决了这个问题。好像我很接近。这是新的工作脚本:

document.querySelectorAll('img[src$=".webp"]').forEach(item => {
  item.src = item.src.replace('.webp', '');
  item.srcset = '';
});

可以在这里找到解决方案的讨论:https ://old.reddit.com/r/AskProgramming/comments/lslvvb/tampermonkey_method_to_drop_the_webp_extension/


推荐阅读