Что-то странное случилось .... Я Phaserjs и попытаться переопределить класс устройств:Глобальная переменная сохранить старое значение
let Device = (function(device)
{
return {
Android :function() {
return navigator.userAgent.match(/Android/i) == true;
//return Phaser.Device.Android != undefined;
},
BlackBerry: function() {
return navigator.userAgent.match(/BlackBerry/i) == true;
},
iOS: function() {
return navigator.userAgent.match(/iPhone|iPad|iPod/i) == true;
//return Phaser.Device.iOS == true;
},
Opera: function() {
return navigator.userAgent.match(/Opera Mini/i) == true;
},
Windows: function() {
return navigator.userAgent.match(/IEMobile/i) == true;
//return Phaser.Device.WindowsPhone != undefined;
},
firefox : function() {
return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;
//return Phaser.Device.Firefox == true;
},
any: function() {
return (Device.Android() || Device.BlackBerry() || Device.iOS() || Device.Opera() || Device.Windows());
},
debug: function()
{
//console.log("Ios "+Phaser.Device.Firefox+" Dev:"+Phaser.Device);
return "Android:"+Device.Android()+" "+
"BlackBerry:"+Device.BlackBerry()+" "+
"iOS:"+Device.iOS()+" "+
"Opera:"+Device.Opera()+" "+
"Windows:"+Device.Windows()+" "+
"firefox:"+Device.firefox();
}
};
})(Phaser.device);
export default Device;
Phaser.Device одноэлементно и как $(document).ready
он должен быть инициализирован первым. функция Phaser.Device.whenReady(foobar,this);
Проблема заключается в том, когда я вызываю функцию FireFox или IOS (Device.iOS()
) я получаю старое значение и не инициализируются значение (истинного и ложного)
импортировать устройства, как это в основном скрипте :
import Device from './helpers/GameDevice';
ПОЧЕМУ? проблема швов является проблемой масштаба, но я не знаю, что!
Какое значение имеет старое значение? –
Я нахожусь в FF, поэтому у меня должен быть Firefox: TRUE и iOS: FALSE, но я получаю FF: FALSE и iOS: true, что нелогично !!! – xeonarno
Обнаружение браузера может завершиться неудачей по многим причинам, включая добавление. navigator.userAgent - это последнее дело, поэтому он не всегда работает –