Javascript 对象没有';t支持属性或方法';格式';IE7/8

Javascript 对象没有';t支持属性或方法';格式';IE7/8,javascript,jquery,internet-explorer-8,internet-explorer-7,Javascript,Jquery,Internet Explorer 8,Internet Explorer 7,在IE 7/8浏览器和文档模式下运行以下代码时,我收到一条错误消息“对象不支持属性或方法‘format’”。我正在使用Knob-jQuery插件 // Dial logic var Dial = function (c, opt) { var v = null ,ctx = c[0].getContext("2d") ,PI2 = 2 * Math.PI ,mx ,my ,x ,y ,self = this; t

在IE 7/8浏览器和文档模式下运行以下代码时,我收到一条错误消息“对象不支持属性或方法‘format’”。我正在使用Knob-jQuery插件

// Dial logic
var Dial = function (c, opt) {

    var v = null
        ,ctx = c[0].getContext("2d")
        ,PI2 = 2 * Math.PI
        ,mx ,my ,x ,y
        ,self = this;

    this.onChange = function () {};
    this.onCancel = function () {};
    this.onRelease = function () {};

    this.val = function (nv) {
        if (null != nv) {
            opt.stopper && (nv = Math.max(Math.min(nv, opt.max), opt.min));
            v = nv;
            this.onChange(nv);
            this.draw(nv);
        } else {
            var b, a;
            b = a = Math.atan2(mx - x, -(my - y - opt.width / 2)) - opt.angleOffset;
            (a < 0) && (b = a + PI2);
            nv = Math.round(b * (opt.max - opt.min) / PI2) + opt.min;
            return (nv > opt.max) ? opt.max : nv;
        }
    };
//拨号逻辑
var拨号=功能(c,opt){
var v=null
,ctx=c[0]。getContext(“2d”)
,PI2=2*Math.PI
,mx,my,x,y
,self=this;
this.onChange=函数(){};
this.onCancel=函数(){};
this.onRelease=函数(){};
this.val=功能(nv){
如果(空!=nv){
opt.stopper&(nv=Math.max(Math.min(nv,opt.max),opt.min));
v=nv;
这是一次改变(内华达州);
这个。画(nv);
}否则{
变量b,a;
b=a=Math.atan2(mx-x,-(my-y-opt.width/2))-opt.angleOffset;
(a<0)和&(b=a+PI2);
nv=数学舍入(b*(opt.max-opt.min)/PI2)+opt.min;
返回(nv>选择最大值)?选择最大值:nv;
}
};

这很简单,IE9之前的IE中没有画布。除了向用户推荐升级之外,你什么都做不了


HTML5使许多新的应用程序成为可能。想要使用它们的人不能保留他们的旧浏览器。

您可以添加对IE7/IE8的画布支持。

您需要在代码的其余部分添加更多上下文才能使其有意义。哪个赋值会引发该错误(或者是变量声明)?分别测试它们。另外,你确定错误源于这一行吗?根本没有
格式
?不需要测试任何东西,变量名和getContext非常清楚地表明这与画布有关。因为IE7/8中没有画布支持,这需要五秒钟才能完成图o但在谷歌搜索中,错误到底在哪里并不重要。除了建议升级之外,你什么都做不了?那模拟它的库呢……比如excanvas?@Ian只要你做一些比画正方形更复杂的事情,这些库的运行速度就不够快,而且维护起来通常很痛苦我的观点是,他们把我们带回了一个时代,我们必须为IE和Netscape/Firefox制作不同的代码。。。