0

我的网站上有这个 jQuery 函数,它可以在图片上添加 Facebook 上的分享按钮,效果很好。

问题是,现在我已经在我的服务器上安装了谷歌的 Pagespeed 模块,让事情变得更快一些。像魅力一样工作,除了一件事:

图像现在获得了 Facebook 似乎不喜欢的 pagespeed 扩展。

所以,我正在寻找的是一个函数来获取图像 src(这已经到位),剥离添加的 pagespeed 扩展,并发送回“原始”图像 src。

我正在像这样获取图像 src:

img = $(this).attr('src');

我没有的是在此功能之后剥离 pagespeed 扩展的功能。

谷歌页面速度图像看起来像这样:

http://my-site.com/wp-content/uploads/700x524ximagename700x524.jpg.pagespeed.ic.9rlwkDUtDK.webp

问题是,有两个部分需要被剥离:

700x524x出现图像名称之前...

...以及文件扩展名之后的所有内容(.pagespeed.ic.9rlwkDUtDK.webp

有没有一些大师可以建议我解决这个问题?

谢谢!

//詹斯。

4

1 回答 1

0

您可能想要使用正则表达式来匹配您想要(和不想)保留的字符串部分,然后您可以使用反向引用来提取原始文件名。这里的文件名将在匹配的组中,$1.

\d*x\d*x(.*)\.pagespeed.*

请参阅https://regex101.com/r/jR8fI3/1上的示例

在 JavaScript 中:

var image = "700x524ximagename700x524.jpg.pagespeed.ic.9rlwkDUtDK.webp";
var original = image.replace(/\d*x\d*x(.*)\.pagespeed.*/, "$1");
alert(original);

请参阅http://jsfiddle.net/1afhzfxa/上的示例

于 2015-01-17T22:56:44.363 回答