Flashgamedev.ru | Разработка и Монетизация Флэш игр
http://flashgamedev.ru/

FireFox bug Phaser
http://flashgamedev.ru/viewtopic.php?f=20&t=12973
Страница 1 из 1

Автор:  Vogd [ Пн янв 09, 2017 12:29 am ]
Заголовок сообщения:  FireFox bug Phaser

Когда страничка с игрой эмбедится на сайт спонсора и делается невидимой на время показа рекламы, в FireFox Phaser выдает ошибку
TypeError: window.getComputedStyle(...) is null
Ошибка на офф сайте:
https://bugzilla.mozilla.org/show_bug.cgi?id=548397

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

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

Автор:  KidWithGun [ Пн янв 09, 2017 9:12 pm ]
Заголовок сообщения:  Re: FireFox bug Phaser

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

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

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

Автор:  Vogd [ Пт янв 13, 2017 6:31 pm ]
Заголовок сообщения:  Re: FireFox bug Phaser

Спонсор 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!

Автор:  kedicik [ Пт янв 13, 2017 8:57 pm ]
Заголовок сообщения:  Re: FireFox bug Phaser

А. какого типа покупает игры?

Автор:  Vogd [ Пт янв 13, 2017 10:19 pm ]
Заголовок сообщения:  Re: FireFox bug Phaser

Моя игра жанра землекопатель, какие игры он покупает и собирается ли еще покупать я не очень в курсе

Автор:  KidWithGun [ Пт янв 13, 2017 11:04 pm ]
Заголовок сообщения:  Re: FireFox bug Phaser

Я прочекал билд Фазера на getComputedStyle.
Этот метод только тут используется:
https://github.com/photonstorm/phaser/b ... e.js#L1228

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

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

Автор:  Vogd [ Сб янв 14, 2017 3:52 pm ]
Заголовок сообщения:  Re: FireFox bug Phaser

Отлично, спасибо!

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/