代码之家  ›  专栏  ›  技术社区  ›  Boris Delormas

如果浏览器是IE,则更改文件扩展名

  •  0
  • Boris Delormas  · 技术社区  · 14 年前

    我正在寻找一个最佳的解决方案来动态地更改一些图像扩展名(从.svg到.png),前提是浏览器是IE。

    我不知道什么是最好的解决方案:

    • 用PHP解析HTML代码
    • 使用jquery

      $(“img.svg2png”).attr(“src”,…);

    • 处理htaccess和重写规则

    • 其他解决方案?

    谢谢!

    2 回复  |  直到 14 年前
        1
  •  3
  •   Pekka    14 年前

    你没有透露你正在做什么的很多细节,但是mod重写解决方案(捕捉 USER_AGENT 变量并检查它是否为IE,并在内部重定向到匹配 .png 文件)对我来说是最优雅的,因为它可以使用无javascript,并且您可以保留文件扩展名。这个 .svg 只要是正确的,扩展就应该毫无意义。 Content-Type 头被发送。

        2
  •  0
  •   Zia    14 年前

    你可以这样做:

    var imageArray = $('img.svg2png').attr('src').split('.');
    var newImage = imageArray[0]+'.png';
    
    $("img.svg2png").attr("src", newImage);
    

    请记住,这是假设在文件的完整SRC中只有1个句点(即扩展句点)。

    要分解它,.split(“.”)所做的是创建一个字符串数组,其中句点是分隔符。所以

    imageArray[0] = 'imagesDir/imageName'
    

    imageArray[1] = 'svg'
    

    所以你要做的是用图像的第一部分和一个新的扩展来重建SRC。

    希望这有帮助!