如何在JavaScriptCore中包含外部库?

我想通过JavaScriptCore加载外部库

具体而言,我想要这样的最终结果:

<script src="fancyLibrary.js" type="text/javascript"></script> 

但是用这个语法:

 JSContext *context = [[JSContext alloc] initWithVirtualMachine:[[JSVirtualMachine alloc] init]]; [context loadExternalJavascriptFileWithName:@"fancyLibrary.js"]; JSValue *fancyFunction = context[@"fancy"]; 

这在当前是可能的吗? 我想我可以在应用程序包中包含外部库,并从那里调用它。 这是将图书馆加载到上下文中的问题。

您只需要使用评估API在上下文中加载脚本的内容。 这实际上非常接近浏览器在遇到脚本标记时的行为。

 NSURL *scriptURL = [NSURL URLWithString:@"path/to/fancyLibrary.js"]; NSError *error = nil; NSString *script = [NSString stringWithContentsOfURL:scriptURL encoding:NSUTF8StringEncoding error:&error]; [context evaluateScript:script];