Вопрос по jquery-mobile, xcode, ios – JQuery Mobile не работает внутри UIWebView

12

Я прихожу сюда после многих часов поисков решения и пробую разные подходы, чтобы решить эту проблему, которая возникает у меня с JQuery Mobile и моим приложением для iPad.

То, что я пытаюсь сделать, - это приложение для составления отчетов с помощью Fusion Charts. Я успешно рендерил диаграммы в веб-представлениях (UIWebView), используя разные методы и следуя различным примерам, но сейчас я хотел бы выполнить ту же задачу, используя инфраструктуру JQuery Mobile.

Я & APOS; мnot используя phonegap, и я следовал инструкциям к письму, касающимся интеграции JQuery Mobile + Xcode (я думаю). Графики загружаются без проблем в моем настольном и мобильном браузерах (iPad, iPhone 4 и iPod Touch 2G), но они никак не могут загружаться в мой UIWebView (даже если я использую один и тот же точный код).

This is what I'm doing:

1) Добавление необходимых файлов (JS, CSS и HTML) в проект для их локального использования. После добавления их я перемещаю все с расширением .js из & quot; Compile Sources & quot; на "Копировать ресурсы комплекта". Это выглядит так:

enter image description here

enter image description here

2) Загрузите мой тестовый файл HTML (page_A1.html) в веб-представление:

enter image description here

3) Проверьте, что все настроено в HTML-файле с правильными путями и последней версией фреймворков:

enter image description here

4) Построить и запустить только, чтобы получить пустой веб-вид.

Если я тестирую Javascript с таким предупреждением:

enter image description here

Он покажет предупреждение, подтверждающее, что Javascript работает:

enter image description here

И если я помещу некоторый текст в контейнер, где должен отображаться график:

enter image description here

Я получу текст в веб-представлении:

enter image description here

Я также проверил с удаленными ссылками инфраструктуры вместо локальных и более старых версий библиотек без удачи. Ничего другого не происходит

enter image description here

Мне кажется, что Обвиус

<code>$(document).ready(function(){
</code>

не замечен или не вызван xcode.

This is what I'd like to accomplish:

enter image description here

Я не знаю, что еще проверить. Если у вас есть идея, я буду более чем благодарен.

Ваш Ответ

2   ответа
4

чтобы загрузить файл JS как в String и вызвать метод UIWebView's [stringByEvaluatingJavascriptFromString: @ & quot; Javascript here ... & quot;].

 NSString *filePath = [[NSBundle mainBundle] pathForResource:@"content" ofType:@"js" inDirectory:@""];
NSData *fileData = [NSData dataWithContentsOfFile:filePath];
NSString *jsString = [[NSMutableString alloc] initWithData:fileData encoding:NSUTF8StringEncoding];

[webView stringByEvaluatingJavaScriptFromString:jsString];

Хотя это не сильно отличается от жесткого кодирования их в html-файлы, оно делает его еще более модульным. Удачного кодирования :)

Error: User Rate Limit Exceeded
10

Некоторые старые привычки со времен веб-разработки сыграли меня здесь.

Это настраивает вас на то, что вам не нужно указывать внутреннюю структуру каталогов для ваших файлов CSS и JS, вот так:

<link rel="stylesheet" href="css/jquery.mobile-1.1.0.min.css" />

<script src="js/jquery-1.7.2.min.js"></script>

<script src="js/jquery.mobile-1.1.0.min.js"></script>

должно быть действительно так в Xcode:

<link rel="stylesheet" href="jquery.mobile-1.1.0.min.css" />

<script src="jquery-1.7.2.min.js"></script>

<script src="jquery.mobile-1.1.0.min.js"></script>

Невероятно, сколько времени мне понадобилось, чтобы это выяснить.

Теперь это работает.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Juan González
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded

Похожие вопросы