2013-07-09 1 views
1

Разработка приложений Worklight 6.0 с Dojo 1.9, мы сталкиваемся с некоторыми проблемами навигации по страницам на устройствах Galaxy SII, SIII, Note с запущенным Android v4.1.2 (очень распространенным).IBM Worklight 6.0 - Как включить патч Dojo с предварительно построенными слоями Dojo?

Мы видим, что эти проблемы были разрешены by Dojo patch #17164.
Этот патч не включен в сборку Dojo по умолчанию.

Мы попытались включить его, разместив файлы в папке dojox \ mobile проекта, но без эффекта - мы предполагаем, что он перезаписывается непересекающимися классами во время сборки.

Есть ли другой способ включить/определить этот патч? Мы предпочитаем избегать собственного изготовления Dojo самостоятельно, чтобы не отставать от версий WL.

+0

Проблема заключается в додзе/мобильные файлы предварительно упакованы и сведены к минимуму, так что изменение файлов в директории додзё не будет на самом деле изменить большинство файлов так как он не использует его – tik27

ответ

0

Я использовал исправление обезьяны, чтобы выполнить то, что вы пытаетесь сделать.

require(['dojox/mobile/css3'], function(css3) {  
    css3.prototype.name = function(p, hyphen) { 
     // put your patched version of the function here. 
    }; 
}); 

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

Вы также будете копировать код из исходной функции. Каждый раз, когда вы обновляете Dojo или Worklight, вам нужно будет оценить, требуется ли исправление или требуется изменить патч из-за изменений, внесенных в исходную функцию, которая не может быть частью патча.

http://en.wikipedia.org/wiki/Monkey_patch

Is "monkey patching" really that bad?

+0

Это было хорошее направление, чтобы попробовать.Однако фактический патч обезьяны, который мы использовали, был немного сложнее. Благодаря! – eaCmg

1

Так как вы хотели бы, чтобы избежать пользовательских строительства додзё, альтернатива может быть, чтобы удалить www/layers/mobile-ui-layers.js из проекта и полагаться на проект Dojo библиотеки, предоставляющей ресурсы в процессе разработки. Затем вы можете поместить обновленные исходные файлы в проект библиотеки Dojo и использовать Simulator для мобильных браузеров. Однако при развертывании на устройстве вы должны поместить все необходимые ресурсы приложения, которые когда-то были частью мобильных ui-слоев, в каталог вашего проекта www/, поддерживая соответствующую структуру каталогов.

Для получения информации о проекте библиотеки Dojo и выяснении, какие ресурсы Dojo запрашиваются приложением, см. Документ Infocenter Worklight Studio Worklight Dojo library project setup.

Если вы решаете рискнуть и выполнить пользовательскую сборку Dojo, вы можете восстановить файл mobile-ui-layers.js, чтобы использовать исправленные файлы, используя Dojo Build Factory.

 Смежные вопросы

  • Нет связанных вопросов^_^