删除参数我有这个网址:的Greasemonkey脚本从URL
http://website.com/wp-content/uploads/2014/11/this-is-an-image_0120(pp_w820_h548).jpg
我想删除的URL参数,看起来像这样:
http://website.com/wp-content/uploads/2014/11/this-is-an-image_0120.jpg
怎么可能与Greasemonkey的?
var links = document.getElementsByTagName("a");
for(var i = 0, l = links.length; i < l; i++) {
var elements = links[i];
elements.innerHTML = document.body.innerHTML.replace(/(pp_w820_h548)/gi, '');
}
我也想要宽度和高度的数字将是未知的变量。有时候图像是PNG,所以删除之后的所有内容(并且将“.jpg”再次添加到最终解决方案中并不是最佳解决方案。)
SORRY!我的意思是针对img元素,而不是a。 ,不是链接
也很PP需要在那里,因为我只是想删除的prophoto WP博客
所以,这是它:
var links = document.getElementsByTagName("img");
for(var i = 0, l = links.length; i < l; i++) {
var images = links[i];
images.src= images.src.replace(/\(pp_w\d+_h\d+\)/gi, '');
}
UPDATE
该脚本仅适用于靠近视口的图像。 Lazyloaded网页上的元素仍然使用url中的加号字符串。
Greasemonkey是否可以通过物理方式更改HTML,而不仅仅是在DOM中?
至于正则表达式:你需要转义'('和')'。数字写成'[0-9] +'通过使用反斜杠('\')'\(转义括号)完成转义 – andlrc 2014-11-05 16:12:07
@ user1442219你是什么意思改变html不只是dom html *是* dom。它从一开始就取代了图像源,是否正确?您可以随时添加超时作为最简单的解决方案 – 2014-11-11 15:45:28