javascript - 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”扩展名。
如何更改上述脚本或获得在原始网页上而不是在单独的选项卡中转换这些图像的解决方案?它最终会为我节省大量时间。任何和所有的指导将不胜感激。干杯!
解决方案
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/
推荐阅读
- java - JpaRepository 不返回我的任何自定义查询
- button - 想要将按钮编码的程序更改为普通的开关按钮
- kotlin - 使用类字段的 Kotlin 数据类设置器
- python - 无法通过 Python 使用 IEDriverServer 和 Selenium 提取页面标题和 page_source
- android - 如何获取使用 Android 和 Firebase 上传的多个图像的下载 URL
- java - 双链表删除
- excel - 复制另一个单元格中引用的命名范围的值
- python - 在 python 中的某个时间限制后终止并在 ILOG 中检索解决方案
- guid - 如何使用 Java 从 BMC Remedy 用户获取用户 ID 或 GUID
- html - 表格行隐藏在导航栏下