有没有一种方法(最好使用JavaScript)确定URL是SWF还是JPG?

显而易见的答案是嗅探“.jpg”或“.swf”的文件名,但我正在处理由服务器动态确定的标语,这些标语通常具有很多参数,并且通常不包含扩展名。

所以我想知道是否可以首先加载文件,然后以某种方式读取它以确定它是SWF还是JPG,然后放置它,因为我需要显示JPG和SWF的JavaScript代码是非常不同的。

谢谢!

最佳答案

您可以使用javascript通过创建动态img标签来检测它是否为图像。

function isImage(url, callback) {
    var img = document.createElement('img');
    img.onload = function() {
        callback(url);
    }
    img.src = url;
}

然后调用:
isImage('http://animals.nationalgeographic.com/staticfiles/NGS/Shared/StaticFiles/animals/images/primary/bald-eagle-head.jpg', function(url) { alert(url + ' is a image'); });

更新
此版本将始终使用 bool(boolean) 值执行回调。
        function isImage(url) {
        var img = document.createElement('img');
        img.onload = function() {
            isImageCallback(url, true);
        }
        img.onerror = function() {
            isImageCallback(url, false);
        }
        img.src = url;
    }

    function isImageCallback(url, result) {
        if (result)
            alert(url + ' is an image');
        else
            alert(url + ' is not an image');
    }

将您的逻辑放入isImageCallback函数中。

关于javascript - 如何检测URL是否指向SWF,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/266213/

10-12 22:57