0

JavaScript の新機能: Internet Explorer 8 は object.create() をサポートしていません。以下に例を示します。

var tilo = Object.create(Person); 

わかりました、IEはそれをサポートしていません。次に何をすべきですか?2 つの異なる JavaScript ファイルを作成する必要があります.1 つは Firefox 用、もう 1 つは IE 用ですか?

4

1 に答える 1

6

MDN のドキュメントから、これを使用します。

if (!Object.create) {
    Object.create = (function () {
        var F = function(){};

        return function (o) {
            if (arguments.length !== 1) {
                throw new Error('Object.create implementation only accepts one parameter.');
            }
            F.prototype = o;
            return new F();
        };
    }());
}

を使用する前 に、これをページに含めてくださいObject.create。ネイティブで利用できるかどうかを検出します。そうでない場合は、このカスタム コードを使用して使用できるようにします。これにより、技術的にはどのブラウザでも利用できるようになります。

特定のブラウザ用のスクリプト ファイルを作成しないでください。ブラウザーのバージョンによって機能のサポートが異なります...そのため、常に機能検出を使用する必要があります (このコードのように)。Internet Explorer 9 はこれをサポートしているため、IE がそれを必要としていると一般化するべきではありません。

参照:

于 2013-07-19T21:12:19.047 に答える