【问题标题】:How to include a external library in JavaScriptCore?如何在 JavaScriptCore 中包含外部库?
【发布时间】:2014-04-30 20:43:11
【问题描述】:

我正在尝试通过 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"];

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

【问题讨论】:

    标签: ios objective-c javascriptcore


    【解决方案1】:

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

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

    【讨论】:

    • 如果你需要添加一个引用你刚刚带来的外部文件的新块怎么办?
    • 什么意思?请详细说明一下好吗?
    • 当然。在能够编写自己的自定义 jquery 代码之前,首先加载 jquery 外部文件时类似于网页。你会做两份评估脚本,一份用于带来的外部文件,一份用于 js 块!?
    • 没错,只是在相同的上下文中评估一个新脚本。
    猜你喜欢
    • 1970-01-01
    • 2011-01-21
    • 2019-11-09
    • 1970-01-01
    • 2014-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多