Показать сообщение отдельно
  #40 (permalink)  
Старый 10.04.2014, 18:55
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Жесть… я только начинал верить в IE в 11 версии не исправили

------------
причем, если сразу же удалить fix, то баг останется, поэтому вот такой декоратор для Object.create не прокатил:
//IE9-11 Object.create bug fix
(function () {
	var object = Object.create({});
	object[0] = null;
	return object.hasOwnProperty(0); //→ false in IE9-11
}()) || (Object.create = new function () {
	var create = Object.create;
	return function (prototype, properties) {
		var object = create(prototype, properties);
		object[0] = null;
		object.fix = null;
		delete object[0];
		//delete object.fix; //нельзя удалять!
		return object;
	};
});


придется фиксить так:
//IE9-11 Object.create bug fix
(function () {
	var object = Object.create({});
	object[0] = null;
	return object.hasOwnProperty(0); //→ false in IE9-11
}()) || new function () {
	var create = Object.create;
	Object.create = function (prototype, properties) {
		function NOP() {}
		NOP.prototype = prototype;
		//Object.defineProperties fixes a bug
		return properties ? create(prototype, properties) : new NOP;
	};
};

Последний раз редактировалось Octane, 10.04.2014 в 20:44.
Ответить с цитированием