Использование jQuery Mobile в проекте Tool for Cordova, предназначенном для Windows Phone 8.1 и Windows 8.1, приведет к неправильному отображению макета.

Я не уверен, является ли это известной ошибкой или каким-то конфликтом с jQuery Mobile в проекте Tool for Cordova, но когда я использую jQuery Mobile в своем проекте, макет отображается неправильно.

Например, начните с пустого проекта. Затем я добавил jQuery 2.1.3 и jQuery Mobile 1.4.5 из NuGet. Затем внутри index.html я добавил элемент ввода текста. Это довольно просто и ничего сложного. Тогда попытка запустить проект как на симуляторах, так и на реальных устройствах приведет к тому, что элемент ввода текста вообще не появится, даже если он находится внутри DOM. Дальнейшее исследование дало тот же результат, что и этот вопрос: ">Инструменты для Apache Cordova: JQueryMobile заключает теги ввода в тег заголовка?. Этого не произошло, когда я нацелил приложение на Android или iOS. На этих двух платформах все будет отображаться правильно.

Я подозреваю, что есть некоторые конфликты, когда Visual Studio создает приложение и внедряет WinJS, а также jQuery Mobile. Я много где искал и нет упоминаний о несовместимости между ними.

Перепробовав все, я вернулся к основному. Я начал устанавливать Cordova CLI и проверил, будет ли эта проблема. К моему удивлению, проекты Windows 8.1 и WP 8.1 из сборки Cordova CLI работают отлично. Все отображается правильно, хотя была проблема с jQuery Mobile changePage().

Если это на самом деле баг в предварительно выпущенном софте, то, надеюсь, в финальном релизе все должно работать корректно. А пока кто-нибудь хотел бы попробовать предложить мне обходной путь для этой проблемы. Я знаю, что есть, по крайней мере, я и другой парень из вопроса, который я связал выше, у которого была такая проблема.

Спасибо.


person Spincel    schedule 21.03.2015    source источник


Ответы (1)


Обновите мой вывод: проблема связана с библиотекой winstore-jscompat.js. Судя по всему, даже с новым CTP 3.1 файл не самый свежий с GitHub. Я скачал новую версию с GitHub, заменил на старую, и теперь все отлично работает.

GitHub взят отсюда: https://github.com/MSOpenTech/winstore-jscompat.

person Spincel    schedule 27.03.2015