如果URL后面带有Querystring,则使用javascript更改文件扩展名

安德鲁·拉扎鲁斯(Andrew Lazarus)

我在这里使用这段漂亮的代码将所有.svg文件替换为旧版浏览器中的.png,这对于向后兼容很有用。

但是,今天使用shopify时,由于某种奇妙的原因,它在从CDN提取的每个资产的末尾添加了一个强大的查询。

function supportsSVG() {
    return !! document.createElementNS && !! document.createElementNS('http://www.w3.org/2000/svg','svg').createSVGRect;
}

if (!supportsSVG()) {
    var imgs = document.getElementsByTagName('img');
    var dotSVG = /.*\svg$/;
    for (var i = 0; i !== imgs.length; ++i) {
        if(imgs[i].src.match(dotSVG)) {
            imgs[i].src = imgs[i].src.slice(0, -8) + 'png';
        }
    }
}

现在,以.svg结尾的img为目标。但是我不知道如何定位.svg?1234并将svg替换为.png

任何人都知道正则表达式可以瞄准它吗?

用户193130

即使域名是.svg或URL中存在其他任何.svg,此方法也有效。它需要最后一个.svg

var url = "http://tricky.href.svg/filename.svg?abc1?test2?test3";
url = url.replace(/\.(svg)($|\?)/, '.png$2');
console.log(url); // http://tricky.href.svg/filename.png?abc1?test2?test3

您可以像这样使用它:

var dotSVG = /\.(svg)($|\?)/;
for (var i = 0; i !== imgs.length; ++i) {
    imgs[i].src = imgs[i].src.replace(dotSVG, '.png$2');
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

下载带有扩展名的文件

来自分类Dev

在没有文件扩展名的javascript中获取URL

来自分类Dev

使用PHP PCRE regex从日志字符串上的URL获取带有扩展名的文件名

来自分类Dev

如何在PHP中以最佳方式从URL获取带有扩展名的文件名?

来自分类Dev

RegEx解析XML文件并仅返回带有文件扩展名的url

来自分类Dev

带有扩展名的文件名验证

来自分类Dev

查找带有某些文件扩展名的文件C ++

来自分类Dev

更改文件扩展名

来自分类Dev

使用带有原始文件名和扩展名的Google Drive API下载

来自分类Dev

gzip所有带有特定扩展名的文件

来自分类Dev

递归查找所有带有扩展名的文件

来自分类Dev

gzip所有带有特定扩展名的文件

来自分类Dev

如何同时更改现有文件的文件扩展名

来自分类Dev

如果存在-没有扩展名的文件

来自分类Dev

如果存在-没有扩展名的文件

来自分类Dev

提取具有扩展名URL的文件名

来自分类Dev

jsf不提供带有某些扩展名的文件

来自分类Dev

在Python中解析带有“ .data”扩展名的文件?

来自分类Dev

带有特定文件扩展名的cp递归

来自分类Dev

下载带有标题的文件请求Chrome扩展名

来自分类Dev

带有特定文件扩展名的cp递归

来自分类Dev

删除目录中带有扩展名的文件

来自分类Dev

创建/下载带有chrome扩展名的.html文件

来自分类Dev

从带有扩展名pem的文件中获取RSAPublicKey

来自分类Dev

如何执行带有“ .install”扩展名的文件?

来自分类Dev

带有 .twig 扩展名的文件不起作用

来自分类Dev

在Linux中使用CLI更改文件夹中所有文件扩展名

来自分类Dev

我们如何下载图像,当其 URL 不包含文件扩展名并上传带有文件扩展名的图像

来自分类Dev

使用cURL php从URL下载带有扩展名的图像

Related 相关文章

  1. 1

    下载带有扩展名的文件

  2. 2

    在没有文件扩展名的javascript中获取URL

  3. 3

    使用PHP PCRE regex从日志字符串上的URL获取带有扩展名的文件名

  4. 4

    如何在PHP中以最佳方式从URL获取带有扩展名的文件名?

  5. 5

    RegEx解析XML文件并仅返回带有文件扩展名的url

  6. 6

    带有扩展名的文件名验证

  7. 7

    查找带有某些文件扩展名的文件C ++

  8. 8

    更改文件扩展名

  9. 9

    使用带有原始文件名和扩展名的Google Drive API下载

  10. 10

    gzip所有带有特定扩展名的文件

  11. 11

    递归查找所有带有扩展名的文件

  12. 12

    gzip所有带有特定扩展名的文件

  13. 13

    如何同时更改现有文件的文件扩展名

  14. 14

    如果存在-没有扩展名的文件

  15. 15

    如果存在-没有扩展名的文件

  16. 16

    提取具有扩展名URL的文件名

  17. 17

    jsf不提供带有某些扩展名的文件

  18. 18

    在Python中解析带有“ .data”扩展名的文件?

  19. 19

    带有特定文件扩展名的cp递归

  20. 20

    下载带有标题的文件请求Chrome扩展名

  21. 21

    带有特定文件扩展名的cp递归

  22. 22

    删除目录中带有扩展名的文件

  23. 23

    创建/下载带有chrome扩展名的.html文件

  24. 24

    从带有扩展名pem的文件中获取RSAPublicKey

  25. 25

    如何执行带有“ .install”扩展名的文件?

  26. 26

    带有 .twig 扩展名的文件不起作用

  27. 27

    在Linux中使用CLI更改文件夹中所有文件扩展名

  28. 28

    我们如何下载图像,当其 URL 不包含文件扩展名并上传带有文件扩展名的图像

  29. 29

    使用cURL php从URL下载带有扩展名的图像

热门标签

归档