Alp*_*per 1 javascript url jquery image
我正在开发一个数据库驱动的Web应用程序 并且有一个单元格,用户可以输入任何图像URL或字符串作为输入.
是否有一个函数,图像url/字符串分隔,如果是图像,检查是否存在.
我需要这样做,如果用户输入图像网址,那么图像将显示到应用程序(如果存在),否则如果用户输入字符串(消息),则消息将被放入应用程序.
仅供演示;
function check_imageornot(data){
...........
if -> image && exist -> return 'image_ok';
if -> image && not_exist -> return 'image_no';
if -> string -> return 'string';
}
}
Run Code Online (Sandbox Code Playgroud)
注意:此函数将被放入.js文件中,因此需要Javascript/jQuery方式(也可以在JS/jQuery中使用正则表达方式...)
小智 7
只是一个小小的修改:
if (/(jpg|gif|png|JPG|GIF|PNG|JPEG|jpeg)$/.test(input)){ // image url as input
Run Code Online (Sandbox Code Playgroud)
这样,它将了解查看文件扩展名的不同方式.
我知道这是我朋友的一篇老文章,但这是我在网站上使用的代码,用于检查图片网址是否有效:
function is_image(url,callback,errorcallback) {
var img = new Image();
if (typeof(errorcallback) === "function") {
img.onerror = function() { errorcallback(); }
} else {
img.onerror = function() { return false; }
}
if (typeof(callback) === "function") {
img.onload = function() { callback(); }
} else {
img.onload = function() { return true; }
}
img.src = url;
}
Run Code Online (Sandbox Code Playgroud)
从字面上看,该函数正在执行的操作是检查是否加载了图像。例如,如果url为“ http://www.google.com ”,则该函数将返回错误(因此它将运行放置在中的函数img.onerror()),因为google的首页不是图像,而是html文件。由于此函数需要url发送回信息,因此它是一个异步函数,这意味着您不能依赖该函数来遵循Javascript的流程,就像发送AJAX请求一样。因此,无论您希望函数之后运行什么代码,都必须将其作为函数的第二个参数。因此,例如,您的代码可以如下所示:
var imagelink = "http://www.google.com";
is_image(imagelink,function(){
alert("This is an image!");
},function(){
alert("This is not an image!")
});
Run Code Online (Sandbox Code Playgroud)
因此,如果链接是图像,则会弹出一个窗口,显示“这是图像!”,否则,窗口将显示“这不是图像!”。即使扩展名不是.jpg或其他任何形式,此功能也将始终有效。
| 归档时间: |
|
| 查看次数: |
3097 次 |
| 最近记录: |