Can I run JavaScript inside Swift code?

前端 未结 2 614
挽巷
挽巷 2020-12-23 01:56

I need to include JavaScript code in Swift code to be able to call a signalR chat, is that possible? If not, can I convert it?

sendmessage is a button.<

2条回答
  •  囚心锁ツ
    2020-12-23 02:48

    Last tested with Swift 5.1

    Here is an example you can run in Playground to get you started:

    import JavaScriptCore
    
    let jsSource = "var testFunct = function(message) { return \"Test Message: \" + message;}"
    
    var context = JSContext()
    context?.evaluateScript(jsSource)
    
    let testFunction = context?.objectForKeyedSubscript("testFunct")
    let result = testFunction?.call(withArguments: ["the message"])
    

    result would be Test Message: the message.

    You also can run JavaScript code within a WKWebView calling evaluate​Java​Script(_:​completion​Handler:​).

    You can also run JavaScript within a UIWebView by calling string​By​Evaluating​Java​Script(from:​), but note that that method has been deprecated and is marked as iOS 2.0–12.0.

提交回复
热议问题