проблема с загрузкой файла .js в webview - PullRequest
2 голосов
/ 04 января 2011

Я просто загружаю локальный html-файл в свое веб-представление. Этот HTML-файл ссылается на файлы .js, также хранящиеся локально. Webview правильно загружает html-файл, но не отвечает на функции javascript, определенные в файлах .js. Так я загружаю свой локальный html-файл.

[aWebView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]isDirectory:NO]]];

Обратите внимание, что я уже снял предупреждение

warning: no rule to process file '$(PROJECT_DIR)/html/orientation.js' of type sourcecode.javascript for architecture i386

Но все равно это не сработало. Пожалуйста помоги. Спасибо Laura

Ответы [ 3 ]

2 голосов
/ 20 апреля 2011

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

  1. Xcode <4.0: заглянуть внутрьна левой панели разверните <em>Targets и перетащите .js файлы в Copy Bundle Resources .Build.
  2. Xcode> = 4.0: выберите ваш проект на левой панели.Выберите вашу цель .Разверните Скопируйте ресурсы Bundle и перетащите файлы .js в список, который появится.Build.

Чтобы проверить, включены ли файлы .js в комплект, перейдите в папку сборки проекта, щелкните по ней правой кнопкой мыши и выберите Просмотр содержимого .Если все прошло хорошо, вы должны увидеть их там.

0 голосов
/ 09 августа 2011

В XCode 4 недостаточно убедиться, что файл .js включен в список «Copy Bundle Ressources», он также НЕ должен быть включен в список «Compile Sources», который будет по умолчанию. 1001 *

Я достиг этого путем ручной установки типа файла в XCode на «обычный текст»

0 голосов
/ 04 января 2011

Это тоже сводило меня с ума. Попробовав несколько вещей, вот что я сделал, чтобы заставить его работать:

NSString *root = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES) objectAtIndex:0];
NSString *filePath1 = [[NSBundle mainBundle] pathForResource:@"Player.js" ofType:@"txt"];
NSData *htmlData1 = [NSData dataWithContentsOfFile:filePath1];

[[NSFileManager defaultManager] createFileAtPath:[NSString stringWithFormat:@"%@/Player.js", root] 
                                        contents:htmlData1
                                      attributes:nil];

По какой-то причине, похоже, проблема с расширениями .JS. Поэтому вы используете другой тип расширения (в моем случае я использовал .js.txt) и сохраните его в том месте, где его может найти ваш HTML-файл.

Надеюсь, это поможет! И я хотел бы услышать более правильное исправление или услышать, почему файлы .js не работают.

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