jQTouch с PhoneGap на WebOS - PullRequest
       21

jQTouch с PhoneGap на WebOS

1 голос
/ 11 июня 2010

Я пишу приложение в PhoneGap, которое хочу запустить на iOS, Android и webOS. jQTouch хорошо работает со всем на iOS и Android, но не с webOS.

Поскольку платформа WebOS Mojo основана на Prototype (который использует переменную $), необходимо использовать jQuery в режиме noConflict. Я могу справиться с этим очень много.

Однако проблема в том, что я также хочу использовать плагин jQTouch. Файл jqtouch.js везде использует $, вызывая ошибки JavaScript при загрузке этого файла.

Есть ли способ запустить плагин jQTouch (или любой плагин в этом отношении) в моем приложении PhoneGap, не мешая Prototype?

Ответы [ 2 ]

6 голосов
/ 11 июня 2010

Вы должны иметь возможность обернуть его в замыкание и передать JQuery. Например:

(function($){
   alert($);
}("Hello"))

(function($){
   $("foo"); // uses the jQuery rather than $
}(jQuery))
3 голосов
/ 02 января 2011

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

Mojo - это стандартная среда JavaScript, с которой создается большинство приложений webOS.Тем не менее, если вы не используете какие-либо функции в нем, то это просто стоит времени запуска.Вы можете запретить загрузку Mojo, просто закомментировав тег script в верхней части страницы index.html.

-> Mojo, однако, делает одну вещь, которая нам нужна.Он сообщает диспетчеру окон, когда приложение полностью загружено и готово к работе.Мы можем сделать это вручную с помощью простого обработчика события onLoad.Добавьте следующий скрипт в начало страницы index.html:

function onLoad () {if (window.PalmSystem) {window.PalmSystem.stageReady ();}}

Затем добавьте вызов в событие onload тела.

Вот и все!Теперь приложение будет загружаться без Mojo и запускаться намного быстрее.

...