在JavaScriptCore中包含jQuery库

在JavaScriptCore中包含jQuery库,jquery,swift,xcode,javascriptcore,Jquery,Swift,Xcode,Javascriptcore,我试图在JavaScriptCore中使用jQuery函数,因此我在JSContext中将jQuery库作为脚本执行。但是,在我这样做之后,我仍然无法访问任何jQuery函数。下面是我在Xcode游戏场中的代码的精简版本: import JavaScriptCore let context = JSContext() //Evaluate JQuery library in context: do { let libString = try String(contentsOf: URL(str

我试图在JavaScriptCore中使用jQuery函数,因此我在JSContext中将jQuery库作为脚本执行。但是,在我这样做之后,我仍然无法访问任何jQuery函数。下面是我在Xcode游戏场中的代码的精简版本:

import JavaScriptCore
let context = JSContext()

//Evaluate JQuery library in context:
do {
let libString = try String(contentsOf: URL(string: "http://code.jquery.com/ui/1.9.2/jquery-ui.js")!, encoding: .utf8)
context?.evaluateScript(libString)
} catch (let error) {
    print("Error while processing URL: \(error)")
}

//Access variables defined by JQuery library:
 print("'$' in context is defined as: \(context?.objectForKeyedSubscript("$"))")
 print("'jQuery' in context is defined as: \(context?.objectForKeyedSubscript("jQuery"))")
这张照片是:

上下文中的“$”定义为:可选(未定义)

上下文中的“jQuery”定义为:可选(未定义)


如果我正确地包含了库,那么这些将被定义为函数。我做错了什么?我是否应该使用JavaScriptCore来获得jQuery功能?

您应该包括jQuery库:

NSString *commond = @"window.onload=function(){var jq=document.createElement(\"script\");jq.setAttribute(\"src\",\"https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/js/lib/jquery-1.10.2.js\");document.getElementsByTagName(\"head\")[0].appendChild(jq);window.setTimeout(\"exec()\",1000)};function exec(){document.write($(\"body\").get(0))};";

[self.webView stringByEvaluatingJavaScriptFromString:commond];

可能重复使用编辑提示正确设置答案的格式。这应该作为代码突出显示。然后解释为什么这段代码回答了这个问题,以及它是如何解决这个问题的。