JS - 使用 instanceof 显示图像或视频?

JS - Display either image or video with instanceof?

我正在获取这样的 cloudinary image/video ID:

<?php echo cloudinary_url($_upload->getPublicId()); ?> 

这给出了一个 URL 像: http://res.cloudinary.com/dviiu412p/image/upload/v1/campaigns/1/jfle7ilxkyfmj9mjggwa

然后将其渲染为图像或视频,如下所示:

<img class="lazy-load"
    src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="
    data-src="<?php echo cloudinary_url($_upload->getPublicId()); ?>" />

<video class="lazy-load" controls>
    <source data-src="<?php echo cloudinary_url($_upload->getPublicId(), array("resource_type"=>video, "height"=>230, "width"=>340, "format"=>webm)); ?>" type="video/webm">
</video>

问题是我只想提供图片或视频(以用户上传的为准)。有什么办法可以做到这一点?我在想 instanceof 可能能够做到这一点,但我以前从未使用过它。任何帮助将不胜感激

假设 $_upload 的来源是上传响应,那么您也有 resource_type 值。您需要 resource_type 的值和 public ID 来区分资源(图像、视频或原始文件)。然后您可以使用 switch-case 块来生成正确的标签。

例如,

<!-- language: lang-php -->

switch ($result["resource_type"]) {
  case "image":
    // generate image tag
    break;
  case "video":
    // generate video tag
    break;
}