繁体   English   中英

获取img或视频标签的src类型(不是扩展名)?

[英]Get src type of img or video tag (not extension)?

说我有一个这样的图像标签:

<img src="smiley.gif" alt="Smiley face" height="42" width="42">

我知道我可以通过使用myImageEl.src获得src。

但是,如何获取src的类型(在这种情况下为.gif )?

基本上,我的最终目标是将文件类型传递给window.URL.createObjectUrl()

let src = imageEl.src;
let srcType = src.type; // Here I need to get the type
let videoFile = new Blob([src], {type: srcType});
let videoSrc = window.URL.createObjectURL(videoFile);
var imgSrc = 'image.jpeg';
var ext = imgSrc.replace(/^.*\./, '')

我对regex不太满意,但是使用regex来获取图像或视频的扩展名是完成此任务的好方法。

为了精确起见,您可以将ext与一组预先定义的数组进行比较

imgTag = ['jpg', 'jpeg', 'gif', 'png'];
vidTag = ['mp4', '3gp']

那么您可以使用forEach循环进行比较

从您的标记中,我注意到您想从javascript访问图像源类型,如果可以,则可以基于我们对该图像元素具有的属性使用以下代码:例如,如果image元素具有id:

var imageElement = document.getElementById(id);
var imgsrc = imageElement.src;
var imgType = imgsrc.split('.').pop();

imgType将是图像的类型。

并且,如果您的图像元素没有ID,则可以使用document.getElementsByTagName(“ img”)代替document.getElementById(id),代码将如下所示

var imageElement = document.getElementsByTagName("img");
var imgsrc = imageElement.src;
var imgType = imgsrc.split('.').pop();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM