рдореИрдВ рдСрд░реЗрд▓рд┐рдпрд╛-рд╕реАрдПрд▓рдЖрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рддреАрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ рдореЙрдбреНрдпреВрд▓ рдФрд░ RequJS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ (рдЖрдИрдИ 11 рдореЗрдВ рдкрд░реАрдХреНрд╖рдг) рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рдм рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
/build/three.js рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛ рдХреЛрдб рдЯреВрдЯрддрд╛ рд╣реИ рд╡рд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИ (рд╢реАрд░реНрд╖ рдкрд░
if ( Function.prototype.name === undefined ) {
// Missing in IE
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name
Object.defineProperty( Function.prototype, 'name', {
get: function () {
return this.toString().match( /^\s*function\s*([^\(\s]*)/ )[ 1 ];
}
} );
}
рдпрд╣ can't redefine non-configurable property "name"
рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИред
рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЗ рдмрд╛рдж рдореИрдВрдиреЗ рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ:
if (!(function f() {}).name) {
Object.defineProperty(Function.prototype, 'name', {
get: function() {
var name = (this.toString().match(/^function\s*([^\s(]+)/) || [])[1];
// For better performance only parse once, and then cache the
// result through a new accessor for repeated access.
Object.defineProperty(this, 'name', { value: name });
return name;
}
});
}
рдФрд░ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИ!
=> рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ /build/three.js рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдкреЙрд▓реАрдлрд┐рд▓ рдХреЛрдб рдареАрдХ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рднрд╡рд┐рд╖реНрдп рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдЗрд╕ рдХреЛрдб рдХреЛ рдмрджрд▓рдирд╛ рд╕рдВрднрд╡ рд╣реИ?
рдХреНрдпрд╛ рдЗрд╕рд╕реЗ рдЪреЗрдХ рдмрджрд▓рдиреЗ рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдкрдбрд╝реЗрдЧрд╛?
if ( 'name' in Function.prototype === false ) {
рдпрд╛
if ( Function.prototype.hasOwnProperty( 'name' ) === false ) {
рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдХреЗрд╡рд▓ if
рдХреЛ рдмрджрд▓рдирд╛ рд╣реА рдХрд╛рдлреА рд╣реИред
if ( 'name' in Function.prototype === false ) {
рдпрд╣ рдЬрд╛рдиреЗ рдХрд╛ рд░рд╛рд╕реНрддрд╛ рд╣реИ!
рдлрд┐рдХреНрд╕реНрдбред рдзрдиреНрдпрд╡рд╛рдж!
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдХреЗрд╡рд▓
if
рдХреЛ рдмрджрд▓рдирд╛ рд╣реА рдХрд╛рдлреА рд╣реИредрдпрд╣ рдЬрд╛рдиреЗ рдХрд╛ рд░рд╛рд╕реНрддрд╛ рд╣реИ!