Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > ipad4, Safari, Object.assign неработает


Автор: Leshak 7.3.2017, 10:30
Переписываю свой сайт walks.ru
Сейчас промежуточный вариант - надо разобраться с некоторыми функциями и завис на ошибке возникающей на "старой" яблочной продукции.
У меня на планшете iPad 4 (8.1) не работает  Object.assign

Код

        assignX : function( toX, X ){ 
            testText('MTR.assignX::IN<br>');
            toX = {};
            toX = Object.assign( toX, X );
            testText('MTR.assignX::end<br>');
            return toX
        },


В других браузерах (и в Safari на MacBook ) проблем не обнаружил. 
В консоле пишет - undefind function... 

Подскажите пожалуйста - это такая фича и её надо как-то обойти?
Или у меня ошибка на которую только мобильная Сафари реагирует?

Автор: Leshak 7.3.2017, 17:20
Пока обошел следующим вариантом

Код

        assignX : function( toX, X ){ 
            toX = {};
            // toX = Object.assign( toX, X );
            toX = JSON.parse( JSON.stringify( X ) );
            return toX;
        },


но с Object.assign вопрос остался

Автор: Leshak 9.3.2017, 17:36
Пожалел свои мозги  smile 
и пока поставил проверку наличия свойства Object.assign 

Код

        assignX : function( toX, X ){ 
            toX = {};
            if( Object.hasOwnProperty('assign') ) { //    есть ли свойство Object.assign ?
                testText('MTR.assignX::IN::Object.assign - true<br>');
                toX = Object.assign( toX, X );
            } else {    
                testText('MTR.assignX::IN::Object.assign - false<br>');
                toX = JSON.parse( JSON.stringify( X ) );
            };
            testText('MTR.assignX::end<br>');
            return toX;



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)