我正在为iPhone开发一个应用程序,希望它将使用添加到iOS 7的新JavaScriptCore框架。我使用的是javascript,因为我需要向我的项目中添加一个javascript库citeproc-js。我可以通过将其加载到UIWebView中来启动并运行该库,但是我需要从后台线程使用它,因此我试图将其加载到JSContext中。

我遇到的问题是该库依赖于使用DOMParserwebkit,但是当将框架加载到JSContext中时,解析器从不加载。

是否应该可以从DOMParser访问JSContext?如果没有,还有其他选择吗?

谢谢!

最佳答案

JSContext提供的JavaScript API实际上是该语言的核心API-它甚至缺少console.log和setTimeout之类的东西,因为它们是由浏览器提供的。由于DOMParser是JavaScriptCore之外定义的另一个API,因此不应在JSContext中对其进行访问。

您可以做的是通过TBXML机制将本地XML解析器(如JSExport)公开给JSContext并使用它。

10-05 22:57