检测浏览器是否足够快到站点

时间:2013-03-05 21:43:13

标签: javascript browser-detection

功能检测通常优先于浏览器嗅探。在某些浏览器“支持”我正在使用的功能但是javascript运行时太慢的情况下,我该怎么办?

我正在使用d3库进行一些复杂的可视化。 chrome / firefox中的可视化非常流畅,在IE9中可以接受,并且在IE8中工作缓慢。我想向IE8用户显示一个横幅,告诉他们升级,并向IE9用户发布通知横幅,表示它在chrome或FF方面会更快。通过用户代理嗅探这样做是不是很糟糕?

1 个答案:

答案 0 :(得分:2)

为什么不测量浏览器计算复杂内容的时间,类似于您想要做的事情,并为其设置阈值时间?

function detectBrowserSpeed(){

    var i,
        slowThreshold = 100; // milliseconds
        startMillis = + new Date(); //The + is to 'force' casting to an integer representing EPOCH milliseconds. If + is ommited, then I get an instance of Date.

    //Do something complex here:
    for (i=0;i<100000;i+=0.1){

    }

    var elapsed = (+ new Date()) - startMillis;
    if(elapsed > slowThreshold){
        return 'slow';
    }else{
        return 'fast'; 
    }

}