Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.04.2013, 13:04
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

Есть ли готовая либа для прозрачный работы с вендорами в javascript?
ну вы поняли о чем я

типа

window.requestAnimationFrame = window.requestAnimationFrame  || 
        window.webkitRequestAnimationFrame || 
        window.wozRequestAnimationFrame || 
        window.oRequestAnimationFrame ||
        function(callback){
            return setTimeout(callback, 1000/60)    
       }


тока на ВСЕ вендорные свойства и еще чтобы баги фиксила браузерные автоматом и новые методы в массив старых браузеров добавляла сразу) и кофе заваривала, ну короче такой browserfix.js уже есть готовый?

Последний раз редактировалось megaupload, 14.04.2013 в 13:10.
Ответить с цитированием
  #2 (permalink)  
Старый 16.04.2013, 04:14
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

Хочешь чтобы было заебись - сделай это сам.

Суть такая что можно использовать все новые вендорные штуки как обычные. При попытке использовать такую штуку там где она не подерживается сработает событие о том что браузер устарел.

алгоритм такой - если свойства нет, то ищутся свойства с префиксами, если и их нет то пытаемся использовать альтернативную реализацию, если и её не удается использовать, то срабатывает событие устаревшего браузера.


Скрипт бережно предупреждает пользователей ишаков ниже 9 о том что у них устарелый браузер и выдает конфирм на скачку хромфрейма.


это версия 0.0 так что пока реализовано только удаление префиксов в window, завтра добавлю удаление префиксов в
element.style.webkitBlablabla

Последний раз редактировалось megaupload, 17.04.2013 в 21:52.
Ответить с цитированием
  #3 (permalink)  
Старый 16.04.2013, 20:59
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Для подстановки CSS-префиксов и имплментации новых свойств есть либа, на сколько хорошая не знаю, можешь проверить )
Ответить с цитированием
  #4 (permalink)  
Старый 16.04.2013, 22:33
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

monolithed,
лол, в соседнем топике её обсуждали))
не, моя либа лучше, так как она работает с JS частью добавляя прозрачную кроссбраузерность. Седня добавил прокси свойства,
чтобы например

element.style.animation перенаправляло на mozAnimation ))
или
event.movementY   перенаправляло на event.webkitMovementY      


суть такова: скрипт смотрит есть ли уже такое свойство, если есть то не трогает его, если нет, то ищет его вендорные аналоги и копирует в это свойство, если вендорные аналоги не найдены то смотрит какую альтернативную реализацию оставил пользователь (ну там можно за место bull писать альтернативную реализацию) если и альтернативной реализации нет, то тогда вешается геттер который при попытке обратиться к свойству вызовет событие browserOldWarning
которое принимает разные параметры о браузере и о свойстве которое запрашивалось, можно обработать это событие и вывести окошко например с предложением обновить браузер)



Обычно прокси вешаются на прототипы CSSStyleDeclaration.prototype (для стилей например)

А обычные заглушки вешаются на обычные обьекты например на window.URL или window.Worker или window.Proxy


IE8 СРАЗУ детектится так как в нем не работает ДАЖЕ этот скрипт и СРАЗУ срабатывает событие о том что браузер устарел. Так как он действительно устарел что в нем "ДАЖЕ МОЙ СКРИПТ ДЛЯ ДЕТЕКТИРОВАНИЯ СТАРЫХ БРАУЗЕРОВ И СООБЩЕНИЯ ЧЕЛОВЕКУ ЧТО ЕМУ НУЖНО ОБНОВИТЬ БРАУЗЕР" - не работает))

Разумеется становится очевидно что человеку нужно обновить браузер, при чем срочно)

Не забывайте, перед этим мы сделали все что смогли... но наш сайт в браузере работать НЕ БУДЕТ... И лучше обьяснить человеку причину.

Последний раз редактировалось megaupload, 16.04.2013 в 22:46.
Ответить с цитированием
  #5 (permalink)  
Старый 16.04.2013, 22:47
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

в будущем надо будет разделить предупреждения на варнинги и ерроры.
так как обращение даже к style.boxReflect например вызывает еррор событие
Ответить с цитированием
  #6 (permalink)  
Старый 17.04.2013, 05:25
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от megaupload
Разумеется становится очевидно что человеку нужно обновить браузер, при чем срочно)
О да, неработающий скрипт от javascript-юзера megaupload - это крайне веская причина обновить браузер. Прямо таки фатальный недостаток )
Ответить с цитированием
  #7 (permalink)  
Старый 17.04.2013, 09:48
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

Сообщение от danik.js
О да, неработающий скрипт от javascript-юзера megaupload - это крайне веская причина обновить браузер.
веская причина обновить браузер это то что он устарел, я лишь сообщаю об этом.

danik.js,
хорошо, ты видимо не понял суть, ты В ЛЮБОМ СЛУЧАЕ ЭТО ДЕЛАЕШЬ я это лишь автоматизирую. ты можешь не вешать обработчик на событие "браузер устарел" и твои скрипты просто перестанут работать без какого либо предупреждения.. все возможные и невозможные альтернативные реализации того что ты делаешь я УЖЕ впичкаю в этот скрипт. Тут ТО ЖЕ САМОЕ что люди делают каждый раз только прозрачно и автоматизированно. Как тебе еще то обьяснть))


объясню по русски: "этот скрипт - НЕ ЯВЛЯЕТСЯ заглушкой на IE и установив этот скрипт люди не будут покидать твой сайт из за предупреждения обновить браузер"

- носом тыкнул
Ответить с цитированием
  #8 (permalink)  
Старый 17.04.2013, 12:18
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

http://www.google.com/chromeframe?hl...ickenable=true

Я просто оставлю это здесь.
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #9 (permalink)  
Старый 17.04.2013, 12:26
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

Tim,
я вот и думал кстати на него ссылку давать если ишак старый.

или выдавать тупо конфирм типа требуется плагин

(ни чо , вон флеш люди все качали ручками, так и тут)


но я оставлю это уже человеку на усмотрение, в событие будет передаваться версия браузера и свойство которое он не смог обработать а человек уже будет решать чо делать
Ответить с цитированием
  #10 (permalink)  
Старый 17.04.2013, 21:57
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

Например события движения мышки в новых браузерах поддерживают такое свойство как movementX, но с префиксами.

Мы просто можем добавить прокси заглушки на прототип событий мыши.
И эта прокси заглушка автоматически будет перенаправлять все взаимодействия с ней на вендорное свойство.

fix.addProxyCap({
	target: MouseEvent.prototype,

	caps: {
		movementX: null,
		movementY: null
	}
});



БАБАХ, и все работает)
e.movementX в событиях становятся доступными ))



А за место null можно написать альтернативную реализацию.

При обращении к свойству ищутся вендорные аналоги, если не находятся то применяется алььтернативная реализация, если и её нет, то ПРИ ОБРАЩЕНИИ к этому свойству события) срабатывает событие "устарелый браузер"

п.с. по скольку прокси мы вешаем на прототип, то если в самом обьекте event появится БЕЗПРЕФИКСНОЕ это свойство, то запрос до нашей прокси так и не дойдет)))
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск работы JavaScript staff-base Работа 9 12.03.2010 19:06
Hivext Platforma - Платформа для JavaScript приложений Ruslan Ваши сайты и скрипты 1 23.01.2010 14:33
Модуль для работы с модулями JSprog Ваши сайты и скрипты 29 02.09.2009 13:31
нужна программа для этого. Чем писать? javascript или php? spam-server Серверные языки и технологии 3 27.08.2009 00:52
Есть небольшая работа для пишущего на javascript. Trooper Работа 0 30.04.2009 08:57