Я хочу, чтобы вызвать функцию яваскрипта от одного моего вида класса контроллера,Вызов JavaScript из класса UIViewController в прошивкой
вот мой фрагмент кода я попробовал, но он не работает :(
кода в моем ViewController
- (NSString *)MyMehtod{
JSContext *context = [[JSContext alloc] init];
JSValue *function = context[@"ProfilePicFunction"];
[context evaluateScript: [self loadJsFromFile]]; //crashes here EXC_BAD_ACESS
JSValue* result = [function callWithArguments:@[[documentsDirectory stringByAppendingString:@"/ProfilePic.png"]]];
NSLog(@"result = %@",result);
}
- (NSString *)loadJsFromFile
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"app" ofType:@"js"]; //path returns here as nil
NSString *jsScript = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil]; //jsScript returns here as nil
return jsScript;
}
код в файле app.js
function ProfilePicFunction(ProfilePicPath){
var d= new Date();
var userFullPath = ProfilePicPath+"?"+d.getTime();
$("#userImg").attr("src",userFullPath);
}
Местонахождение app.js
Пожалуйста, помогите и спасибо заранее!
вы проверили JS каталог в вашем пачке? Из ваших ошибок это звучит не так. –
также попробовал 'NSString * path = [[NSBundle mainBundle] pathForResource: @" app "ofType: @" js "inDirectory: @" js "];' он возвращает путь теперь вместо nil, но функция javascript не получает вызов :( – Krunal
Добавьте некоторые отладочные инструкции NSLog для каждой строки кода и опубликуйте его. В противном случае трудно понять, что происходит не так. Кроме того, зависит приложение app.js от другого javascript. В таком случае вам придется сначала загрузить всю поддержку, необходимую ему? –