jQuery AJAX图像上传 - 检查浏览器支持

时间:2015-09-16 21:02:17

标签: javascript jquery ajax cross-browser

我使用此插件:canvasResize来调整客户端图像的大小并上传它们。

这是代码:

HTML

data_tidy%>%
    group_by(Die,Device)%>% #Die is numeric, Device is factor
    mutate(Vt=(approx(x=log10(Id),y=Vg,xout=log10(3e-8*W/L)))[["x"]])

JS

<input name="photo" id="input" type="file" accept="image/*"/>

它适用于大多数浏览器,但我怎么能检测它是否不适用于页面加载?我想也许是因为这些浏览器不支持画布,但事实并非如此,因为我做了:

$('input[name=photo]').change(function(e) {
    var file = e.target.files[0];


    $.canvasResize(file, {
        width: 0,
        height: 540,
        crop: false,
        quality: 90,
        //rotate: 90,
        callback: function(data, width, height) {


            // IMAGE UPLOADING
            // =================================================

            // Create a new formdata
            var fd = new FormData();
            // Add file data
            var f = $.canvasResize('dataURLtoBlob', data);
            f.name = file.name;
            fd.append($('#input').attr('name'), f);

            $.ajax({
                url: 'test2.php',
                type: 'POST',
                data: fd,
                contentType: false,
                processData: false,
                success: function(data) {
                    alert('geht');
                }
            })

            // /IMAGE UPLOADING
            // =================================================
        }
    });

});

它无处不在。

那么在用户选择图像之前我怎么能检测出破旧的浏览器?

修改

function isCanvasSupported(){ var elem = document.createElement('canvas'); return !!(elem.getContext && elem.getContext('2d')); } if (isCanvasSupported()) { alert('works'); } 之后没有任何作用,我试图提醒一些事情。有任何想法吗???请????

0 个答案:

没有答案