Рендеринг HTML5 диаграммы в WebView с использованием Javascript - PullRequest
0 голосов
/ 05 февраля 2012

Я пытаюсь встроить диаграмму в свое приложение MacOS и решил, что вместо использования ограниченных параметров, доступных в native target-c, лучше использовать HTML 5 и встроить элемент управления WebView.

Мне удалось встроить WebView в порядке, связавшись с файлом index.html, который является частью моего приложения, используя следующее.

// Load the HTML content.
NSString *resourcesPath = [[NSBundle mainBundle] resourcePath];
NSString *htmlPath = [resourcesPath stringByAppendingString:@"/index.html"];
[[webView mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:htmlPath]]];

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

Что еще мне нужно сделать, чтобы заставить Javascript выполняться?

Для дополнительной детализации диаграмма используетJQPlot, и содержимое файла индекса: ...

<html>
<head>
  <script language="javascript" type="text/javascript" src="jquery.min.js"></script>
  <script language="javascript" type="text/javascript" src="jquery.jqplot.min.js"></script>
  <link rel="stylesheet" type="text/css" href="jquery.jqplot.min.css" />
</head>

<body>

  <div id="chartdiv" style="height:200px;width:300px; "></div>

  <script>
     $.jqplot('chartdiv',  [[[1, 2],[3,5.12],[5,13.1],[7,33.6],[9,85.9],[11,219.9]]]);
  </script>    
</body>
</html>

Обновление:

Я провел дополнительный анализ и обнаружил, что могу выполнитьстандартный javascript, но jQuery не работает.Итак, я предполагаю, что проблема заключается в загрузке тегов скрипта в верхней части HTML-страницы.

1 Ответ

0 голосов
/ 07 февраля 2012

Оказывается, что файлы JS компилировались, а не просто копировались.Я обнаружил подобную проблему здесь - локальные ресурсы iPhone UIWebView с использованием Javascript и обработкой onorientationChange .

Ответ состоял в том, чтобы перейти на вкладку «Фазы сборки» после нажатия основной цели и перемещения файлов JSиз списка Compile Sources в список Copy Bundle Resources.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...