【问题标题】:Compare the source of an image with png file将图像的来源与 png 文件进行比较
【发布时间】:2015-03-08 12:28:34
【问题描述】:

我需要将图像的来源与 png 文件进行比较。

这条线有效(但我不喜欢它,安全问题?):

if(event.target.src === 'file:///C:/Users/JLuc01/Desktop/.../rDot.png'){xDot = true;}

但是,这个不起作用:

if(event.target.src == 'rDot.png'){xDot = true;}

您有解决此问题的任何想法(其他属性而不是 src 或其他策略)?图像是动态创建的。

这是整个代码上下文:

// SPOT - Mouseover event for each image
var xDot = false;
document.querySelector('#btn').addEventListener('mouseover', function(event){
    clearInterval(t);
    if (event.target.tagName.toLowerCase() === 'img'){
       if(event.target.src == 'rDot.png'){xDot = true;}
       event.target.src = 'bDot.png';
       console.log(xDot);
    }
});

感谢您的帮助,

JLuc01

【问题讨论】:

  • “这个不起作用”并没有告诉任何人您遇到的问题是什么。另外,两者甚至都不相似;除了一个使用路径,另一个不使用,一个使用===,另一个使用==
  • 哎呀,-4。我的问题显然表述不当。 “不起作用”意味着在这种情况下 xDot 永远不会为真。但它正在使用路径。

标签: javascript


【解决方案1】:

我假设当您进行比较时,您将获得图像的绝对路径(file://C:/User/.../rDot.png)。要与文件名及其类型进行比较,您可以使用 split 功能。

var src = event.target.src;
var split = src.split('/');
var file = split[split.length - 1];

然后您可以使用if (file === 'rDot.png') 添加您的支票。

【讨论】:

  • 太棒了。你很好地理解了我的问题。你的答案是正确的。抱歉,我不能加上 +1,因为我是新来的,我的声望低于 15(而且 -4,它可能不会上升)。无论如何,我的主要目标是找到答案,然后再次感谢。
  • 不用担心,很高兴我能提供帮助! :)
猜你喜欢
  • 1970-01-01
  • 2017-08-07
  • 2011-09-15
  • 1970-01-01
  • 2015-11-01
  • 2014-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多