【发布时间】:2012-04-03 00:01:37
【问题描述】:
假设我有外部 URL(不是来自我的网站)并且我想验证它以确保该 URL 来自以下文件:- jpg、jpeg、gif、png 并且也是正确的图像文件(不是任何脚本文件或 php)。如果可能的话:- 检查图像的 url 是否有效。
@jfriend00 好的,这就是我想要做的。我已经制作了 html 表单,当人们提交它时,它会调用一个 javascript 函数,该函数将验证 url 是否是图像。所以这是我的代码。但它不起作用。请告诉我我应该从这里做什么?
<script type="text/javascript">
function vrfyImgURL() {
var x = document.forms["submitIMGurl"].elements["img_url"].value;
if(x.match('^http://.*/(.*?).(jpe?g|gif|png)$')){
var imgsrc = x;
var img = new Image();
img.onerror = function(){
alert("Can't Be Loaded");
return false;
}
img.onload = function(){
alert("Loaded Successfully");
return true;
}
img.src = imgsrc;
}else{
alert("It looks like the url that you had provided is not valid! Please only submit correct image file. We only support these extensions:- jpeg, jpg, gif, png.");
return false;
}
}
</script>
<form action="http://www.example.com/current_page" enctype='multipart/form-data' method="post" onsubmit="return vrfyImgURL();" name="submitIMGurl">
<input type="text" value="http://" name="img_url" />
<input type="submit" value="Submit" />
</form>
【问题讨论】:
-
你为什么要问和这里一样的问题:stackoverflow.com/questions/9714525/javascript-image-url-verify/… 我之前回答过一次?
-
@jfriend00 因为该解决方案不适用于 chrome 中的外部图像 url
-
该解决方案不关心图像 URL 是否是本地的。在我提供的答案中,图像不受域的任何限制。如果它不适用于外部图像,那么您做错了其他事情。我建议您在该讨论中发布更多信息,我们将在这里解决它,因为这不是一个新问题。在我的jsFiddle 在那个答案中,它使用的是外部图像。
-
@jfriend00 嗨,我已经在问题中包含了我的代码,所以请看看那里。
-
好的,所以问题真的是“如何将上一个答案中提供的代码连接到我的实际表单提交?”
标签: javascript image url verify