2

私はこのJavaScriptを持っています:

Modernizr.load([
    {
        test: Modernizr.canvas,
        nope: ['/assets/js/excanvas.js'],
        both: ['/assets/js/frank/pentool.js'],
        complete : function () {
            var cmo = new CutMeOut(settings);
        }
    }
]);

excanvasでのこのロードは、canvasがサポートされていない必要があり、完了時に「complete」関数を起動する必要があります。のCutMeOutクラスにpentool.jsは、canvas要素で機能するコードが含まれています。ただし、IE7とIE8では次のエラーが発生します。

Object doesn't support property or method

excanvas通常どおりにロードすると、サイトは機能します。var cmo = new CutMeOut(settings);では、 excanvasが問題を汚染した後、どうすれば実行できますか?

ありがとう。

4

1 に答える 1

0

仕事のようです:

Modernizr.load([
    {
        load: '/assets/js/frank/pentool.js',
        complete: function() {

            if (!document.createElement('canvas').getContext) {
                Modernizr.load('/assets/js/excanvas.js');
            } else {
                var cmo = new CutMeOut(settings);
            }


        }

    },

    {

        complete: function() {
            if (!document.createElement('canvas').getContext) {
                window.addEvent('load', function() {
                    var cmo = new CutMeOut(settings);
                });
            }
        }
    }

]);
于 2012-12-07T14:20:37.017 に答える