Javascript 在不支持浏览器的情况下,使用OneRor服务.webp图像安全吗?

Javascript 在不支持浏览器的情况下,使用OneRor服务.webp图像安全吗?,javascript,php,html,image,browser,Javascript,Php,Html,Image,Browser,我正在尝试服务.webp图像,但某些浏览器不支持.webp扩展, 我已经四处搜索,没有找到真正的解决办法 js有一些解决方案,但它们会导致渲染阻塞错误 我之前使用过OneRor,我认为它是ie 5.5+和Safari 5.1+的,它工作得非常好 我试着用OneRor服务.webp图像,它在opera、safari Late、chrome、ie 10中运行良好,没有造成任何问题,我没有试过safari 我想知道浏览器使用是否安全 下面是我如何在引导滑块中使用它 <img src="image

我正在尝试服务.webp图像,但某些浏览器不支持.webp扩展, 我已经四处搜索,没有找到真正的解决办法

js有一些解决方案,但它们会导致渲染阻塞错误

我之前使用过OneRor,我认为它是ie 5.5+和Safari 5.1+的,它工作得非常好

我试着用OneRor服务.webp图像,它在opera、safari Late、chrome、ie 10中运行良好,没有造成任何问题,我没有试过safari

我想知道浏览器使用是否安全

下面是我如何在引导滑块中使用它

<img src="images/posts/dc.webp" onerror="this.src = 'images/posts/dc.png'" class="img-fluid"/>

非js解决方案怎么样

<picture>
  <source srcset="images/posts/dc.webp" type="image/webp">
  <img src="images/posts/dc.png">
</picture>

我得到了解决方案,或者理解了我的错误,为什么我的代码不起作用。哈哈 我的代码在slider中不起作用,因为我向两个srcset动态添加了相同类型的图像,这就是它不起作用的原因

以下是解决方案:

我从数据库和exlode中获得$image;仅获取名称而不使用扩展名,如下所示:

$file_name = $row['img'];
$image = explode('.',$file_name);
再加上:

<source srcset="uploads/large/<?php echo htmlspecialchars($image[0]);?>.webp" type="image/webp">

<img src="uploads/large/<?php echo htmlspecialchars($row['img']);?>" alt="<?php echo htmlspecialchars($row['title']);?>" class="img-fluid"/>

它现在看起来工作得很好,这个问题可能会帮助一些人。

在chrome和opera中,这个解决方案在引导滑块中对我不起作用,这是支持的。webp他们没有检测到,但它在html和简单图像中运行良好。这是我从你的问题中了解到的,在Chrome中运行良好:-我弄错了吗?你在网站的php代码中使用过它吗?这是我在slider中尝试过的,但没有成功,但它可以很好地处理简单的图像。