Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #381 (permalink)  
Старый 08.07.2014, 09:35
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Банк полифилов
__________________
kobezzza
code monkey
Ответить с цитированием
  #382 (permalink)  
Старый 08.07.2014, 12:05
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от kobezzza
Банк полифилов
Полифил для промисов там вообще неправильный
Сообщение от jonathantneal/polyfill
(function () {
	function Promise(resolver) {
		var
		self = this,
		then = self.then = function () {
			return Promise.prototype.then.apply(self, arguments);
		};

		then.fulfilled = [];
		then.rejected = [];

		function timeout(state, object) {
			then.state = 'pending';

			if (then[state].length) setTimeout(function () {
				timeout(state, then.value = then[state].shift().call(self, object));
			}, 0);
			else then.state = state;
		}

		then.fulfill = function (object) {
			timeout('fulfilled', object);
		};

		then.reject = function (object) {
			timeout('rejected', object);
		};

		resolver.call(self, then.fulfill, then.reject);

		return self;
	}

	Promise.prototype = {
		'constructor': Promise,
		'then': function (onFulfilled, onRejected) {
			if (onFulfilled) this.then.fulfilled.push(onFulfilled);
			if (onRejected) this.then.rejected.push(onRejected);

			if (this.then.state === 'fulfilled') this.then.fulfill(this.then.value);

			return this;
		},
		'catch': function (onRejected) {
			if (onRejected) this.then.rejected.push(onRejected);

			return this;
		}
	};

	Promise.all = function () {
		var
		args = Array.prototype.slice.call(arguments),
		countdown = args.length;

		function process(promise, fulfill, reject) {
			promise.then(function onfulfilled(value) {
				if (promise.then.fulfilled.length > 1) promise.then(onfulfilled);
				else if (!--countdown) fulfill(value);

				return value;
			}, function (value) {
				reject(value);
			});
		}

		return new Promise(function (fulfill, reject) {
			while (args.length) process(args.shift(), fulfill, reject);
		});
	};

	window.Promise = Promise;
})();
1. then должен возвращать новое обещание
2. нет методов race, reject, resolve
3. из-за использования setTimeout будут лишние задержки по 3-5мс и длительные в бэкграунде
4. возвращенный из then инстанс промиса в качестве value никак не обрабатывается
5. thenable value не поддерживается
6. ...

----
по другим полифилам:

Object.create не фиксит баг в IE9-11 http://webreflection.blogspot.ru/201...re-broken.html.
Заявлена поддержка IE6+, но Object.keys не фиксит баг со стандартными не enumerable свойствами.
DOMTokenList вынесен в отдельный конструктор, но привязан к className, тоесть не имеет смысла вне classList polyfill.
Примитивная реализация Function.prototype.bind, будет неправильно работать с конструкторами.
Element.prototype.matches выдаст неправильный результат, если элемент не находится в DOM-дереве.
getComputedStyle что-то там пытается привести к общему виду в единицах измерения, но одно из самого нужного - opacity никак не фиксит.
Полифилами для Array iteration methods вообще лучше не пользоваться, они проходят по несуществующим свойствам в отличие от стандартных.


----------
Моя подборка полифилов будет получше
https://github.com/Octane/jsCore#polyfill

Последний раз редактировалось Octane, 08.07.2014 в 12:56.
Ответить с цитированием
  #383 (permalink)  
Старый 08.07.2014, 13:00
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Цитата:
Моя подборка полифилов будет получше
https://github.com/Octane/jsCore#polyfill
Лайк

Ну я просто сегодня наткнулся на ту ссылку и думал, что будет интересно другим.
__________________
kobezzza
code monkey
Ответить с цитированием
  #384 (permalink)  
Старый 09.07.2014, 09:17
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Язык Dart утверждён ассоциацией Ecma в качестве международного стандарта
__________________
kobezzza
code monkey
Ответить с цитированием
  #385 (permalink)  
Старый 09.07.2014, 13:41
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Operating system kernel built on V8 JavaScript engine
Ответить с цитированием
  #386 (permalink)  
Старый 09.07.2014, 13:47
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от melky Посмотреть сообщение
Operating system kernel built on V8 JavaScript engine
Я уже постил про это

Цитата:
В рамках проекта Runtime.JS развивается ядро ОС на базе JavaScript-движка V8
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 09.07.2014 в 14:00.
Ответить с цитированием
  #387 (permalink)  
Старый 09.07.2014, 14:11
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Может сбояню, если что, удалите этот пост, но не смог удержаться, чтоб к подборкам полифилов не добавить эту ссылку:
http://html5please.com/ - полифилы + фолбэки
Ответить с цитированием
  #388 (permalink)  
Старый 09.07.2014, 14:16
Аватар для Zend
Профессор
Отправить личное сообщение для Zend Посмотреть профиль Найти все сообщения от Zend
 
Регистрация: 28.11.2009
Сообщений: 328

Сообщение от BETEPAH
полифилов
прочитал "педофилов".... долго думал.... ё**ный maximus!
Ответить с цитированием
  #389 (permalink)  
Старый 09.07.2014, 18:13
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Десктопный хром может эмулировать мобильные устройства
Chrome DevTools for Mobile: Screencast and Emulation
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #390 (permalink)  
Старый 09.07.2014, 18:28
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Удаленная отладка недоступна для стандартного андроид браузера, надо либо хром ставить, который ставится далеко не на каждый телефон, либо искать для тестов андроид 4.4+

А в эмуляторе какие-то странные юзер агенты, для более менее современных телефонов выдает адроид 2.2 и очень не хватает нормального Pinch, там только можно с зажатым шифт зумить движением мыши.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Превращение слов через запятую в ссылки Майрбек Элементы интерфейса 5 04.10.2014 10:45
Не работают ссылки после возвращения ajax tenebrosus jQuery 22 20.06.2014 12:39
Как добавить класс к нужному элементу при наведении на определеные ссылки? crazygangster77 Events/DOM/Window 3 05.06.2013 02:19
Ссылки внутри другой ссылки Madgeniy Events/DOM/Window 4 11.08.2012 14:58
ссылки получали стиль "visited" только на время сессии alexandr_poskrobka Серверные языки и технологии 7 10.03.2010 08:48