Поддерживается ли приложение Worklight на основе инструментария Dojo 1.9 в Windows phone 8?
Я работаю над приложением Worklight, используя его стандартный набор инструментов Dojo 1.9. Мое приложение отлично работает в эмуляторе Android и в симуляторе веб-браузера. Я пытался протестировать то же приложение в эмуляторе Windows Phone 8, но не могу увидеть всю домашнюю страницу. Я вижу только ту часть кнопки "Панель вкладок", которая используется на кнопке, тогда как я не могу видеть элементы списка, используемые на странице. Мой вопрос: поддерживает ли Dojo Toolkit 1.9 Windows Phone 8?
Я посетил ссылку на релиз dojo 1.9 и там сказано, что в dojo 1.9 включена поддержка Windows Phone 8. Если это правда, что может быть причиной сбоя моего приложения в эмуляторе Windows phone 8?
Я также получил ниже журнала, когда я создал среду Windows Phone 8 в моем проекте Worklight.
[2013-11-12 22:14:08] Environment 'Windows Phone 8' was created.
[2013-11-12 22:14:13] Starting build process: application 'KaiserTestApp', environment 'windowsphone8'
[2013-11-12 22:14:28] Windows Phone 8 app may not work well with Dojo toolkit included for this Application. Use a different Worklight Project, without Dojo toolkit, for Windows Phone 8 apps.
[2013-11-12 22:14:28] Application 'KaiserTestApp' with environment 'windowsphone8' build finished.
1 ответ
Существует ошибка виртуальной машины WP8, которая может повредить ListItem и объяснить вашу проблему. Чтобы проверить, попадаете ли вы в эту просто обезьяну, исправьте метод _ItemBase _setSelectedAttr таким образом и посмотрите, исправит ли это вашу проблему:
_setSelectedAttr: function(/*Boolean*/selected){
// summary:
// Makes this widget in the selected or unselected state.
// description:
// Subclass should override.
// tags:
// private
if(selected){
var p = this.getParent();
if(p && p.selectOne){
// deselect the currently selected item
var arr = array.filter(p.getChildren(), function(w){
return w.selected;
});
array.forEach(arr, function(c){
this._prevSel = c;
c.set("selected", false);
}, this);
}
}
this.selected = selected;
//this._set("selected", selected);
}
Если это решает вашу проблему, сообщите нам, и мы увидим, как выпустить обновленную версию Dojo, которая обходит эту ошибку WP8 WM.