Javascript 确定动态图像的文件扩展名';s src

Javascript 确定动态图像的文件扩展名';s src,javascript,image,greasemonkey,Javascript,Image,Greasemonkey,使用Greasemonkey脚本,如果加载到网页上的图像是gif或jpg,则该脚本将执行特定操作。页面中的代码如下所示: <div id="current_photo"> <div style="text-align:center;"> <img src="[url]/[random numbers].gif/jpg" alt="" style="[styles]"> </div> </div>

使用Greasemonkey脚本,如果加载到网页上的图像是
gif
jpg
,则该脚本将执行特定操作。页面中的代码如下所示:

<div id="current_photo">      
    <div style="text-align:center;">
        <img src="[url]/[random numbers].gif/jpg" alt="" style="[styles]">
    </div>
</div>

URL的开头是唯一的,因为页面上只有一个带有该URL的图像。需要一种方法来提取该路径并从中获取扩展名。

为图像标签添加id=“something”。然后像这样:

var path = document.getElementById('something').src;
var extidx = path.lastIndexOf('.');
var extension = path.substr(extidx+1);
为图像标签添加id=“something”。然后像这样:

var path = document.getElementById('something').src;
var extidx = path.lastIndexOf('.');
var extension = path.substr(extidx+1);

问题中的HTML格式不正确。这真的是一个准确的片段吗?链接到目标页面

无论如何,这样的代码应该可以工作:

var payloadImage    = document.querySelector ("#current_photo div img");

if (/\.gif$/i.test (payloadImage.src) ) {
    // DO GIF ACTION HERE
} 
else if (/\.jpg$/i.test (payloadImage.src) ) {
    // DO JPG ACTION HERE
}
else {
    // DO WHATEVER HERE
}

问题中的HTML格式不正确。这真的是一个准确的片段吗?链接到目标页面

无论如何,这样的代码应该可以工作:

var payloadImage    = document.querySelector ("#current_photo div img");

if (/\.gif$/i.test (payloadImage.src) ) {
    // DO GIF ACTION HERE
} 
else if (/\.jpg$/i.test (payloadImage.src) ) {
    // DO JPG ACTION HERE
}
else {
    // DO WHATEVER HERE
}

除了完全为您编写代码之外,您尝试了什么?我们如何帮助您解决您的问题?嗯,实际上这种方法对我来说是全新的。我知道的唯一办法是从一张我知道路径的照片上取下分机。由于这张图片没有id或名称,我不知道确切的路径是什么,我实际上很困惑,不知道从哪里开始,或者如何处理它…除了完全为您编码之外,您尝试了什么,我们如何帮助您解决您的问题?嗯,这种方法对我来说是全新的。我知道的唯一办法是从一张我知道路径的照片上取下分机。由于这张图片没有id或名称,我不知道确切的路径是什么,我实际上很困惑,不知道从哪里开始,或者如何接近它…如果这是我的网站,我肯定会这样做。但我正在为别人的网站编写greasemonkey脚本,如果是我的网站,我肯定会这么做。但我正在为别人的网站编写一个greasemonkey项目脚本。如果它是
haha.gif.jpg
,它就会失败。(这是
jpg
图像的有效文件名。)@Derek:怎么会这样?请注意,regex键关闭了最后一个扩展名--就像操作系统一样。哦,在结尾没有看到
$
。。。我的错。对于结尾有URL参数的情况,这会失败。例如,如果它是
haha.gif.jpg
,它将失败。(这是
jpg
图像的有效文件名。)@Derek:怎么会这样?请注意,regex键关闭了最后一个扩展名--就像操作系统一样。哦,在结尾没有看到
$
。。。我的错。对于结尾有URL参数的情况,这会失败。比如