Развитие игровой вспышки
epayservices.com
Текущее время: Вс мар 26, 2017 5:08 pm

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: FireFox bug Phaser
СообщениеДобавлено: Пн янв 09, 2017 12:29 am 
Не в сети
Аватар пользователя

Зарегистрирован: Ср авг 05, 2009 6:42 pm
Сообщений: 541
Откуда: Санкт-Петербург
Medals: 1
People's Choice FGD2 (1)
Когда страничка с игрой эмбедится на сайт спонсора и делается невидимой на время показа рекламы, в FireFox Phaser выдает ошибку
TypeError: window.getComputedStyle(...) is null
Ошибка на офф сайте:
https://bugzilla.mozilla.org/show_bug.cgi?id=548397

Я нифига не понимаю что это, почему и как избежать данной проблемы.

Кто-нибудь сталкивался?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: FireFox bug Phaser
СообщениеДобавлено: Пн янв 09, 2017 9:12 pm 
Не в сети
Аватар пользователя

Зарегистрирован: Пн янв 09, 2017 8:44 pm
Сообщений: 24
Айфрейму с игрой указано css свойство displat: none, чтобы скрыть его.
Нативный метод, который вызывает Фазер (getComputedStyle), возвращает null в этом случае. Что является багом огнелиса.

Как вариант, попросить спонсора использовать visibility: hidden вместо display: none для айфрейма с твоей игрой.
Либо задать нулевую ширину и высоту айфрейма, тоже на стороне спонсора.

А кто спонсор? Будто бы он на Фазере игры не покупал.


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: FireFox bug Phaser
СообщениеДобавлено: Пт янв 13, 2017 6:31 pm 
Не в сети
Аватар пользователя

Зарегистрирован: Ср авг 05, 2009 6:42 pm
Сообщений: 541
Откуда: Санкт-Петербург
Medals: 1
People's Choice FGD2 (1)
Спонсор BigDino, он немного слоупок, как и я, и для него это первая html5 игра которую он спонсирует, так что мы вдвоем сидим мучаемся допиливаем чтобы везде работало.

Он рассчитывает что игру будут эмбедить с его сайта, поэтому хочет чтобы она запускалась вне зависимости от того, каким кодом игру прячут для показа рекламы.

Я пофиксил эту багу переопределением функции (где-то нагуглил этот код)

Код:
if (/firefox/i.test(navigator.userAgent)){
   window.oldGetComputedStyle = window.getComputedStyle;
   window.getComputedStyle = function (element, pseudoElt) {
      var t = window.oldGetComputedStyle(element, pseudoElt);
      if (t === null) {
         return {
            getPropertyValue: function(){}
         };
      } else{
         return t;
      }
   };
}


хз насколько это правильно, но вроде работает.

Спасиб что ответил, KidWithGun!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: FireFox bug Phaser
СообщениеДобавлено: Пт янв 13, 2017 8:57 pm 
Не в сети
Аватар пользователя

Зарегистрирован: Сб янв 07, 2012 2:43 am
Сообщений: 455
Откуда: Моск обл
А. какого типа покупает игры?


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: FireFox bug Phaser
СообщениеДобавлено: Пт янв 13, 2017 10:19 pm 
Не в сети
Аватар пользователя

Зарегистрирован: Ср авг 05, 2009 6:42 pm
Сообщений: 541
Откуда: Санкт-Петербург
Medals: 1
People's Choice FGD2 (1)
Моя игра жанра землекопатель, какие игры он покупает и собирается ли еще покупать я не очень в курсе


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: FireFox bug Phaser
СообщениеДобавлено: Пт янв 13, 2017 11:04 pm 
Не в сети
Аватар пользователя

Зарегистрирован: Пн янв 09, 2017 8:44 pm
Сообщений: 24
Я прочекал билд Фазера на getComputedStyle.
Этот метод только тут используется:
https://github.com/photonstorm/phaser/b ... e.js#L1228

Хак может влиять на корректность значение свойства game.device.css3D в случае бага огнелиса:
http://phaser.io/docs/2.6.2/Phaser.Device.html#css3D

Но это совсем не критично.
Так что хак безопасен.


Вернуться наверх
 Профиль Отправить e-mail  
 
 Заголовок сообщения: Re: FireFox bug Phaser
СообщениеДобавлено: Сб янв 14, 2017 3:52 pm 
Не в сети
Аватар пользователя

Зарегистрирован: Ср авг 05, 2009 6:42 pm
Сообщений: 541
Откуда: Санкт-Петербург
Medals: 1
People's Choice FGD2 (1)
Отлично, спасибо!


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB