javascript - 将变量从 Swift 传递到 javascript 函数

标签 javascript swift tvml tvjs

在使用 JSContext 将变量传递给 javascript 函数时遇到问题。错误提示 stringToSend 未定义:

func sendSomething(stringToSend : String) {
        appController?.evaluateInJavaScriptContext({ (context) -> Void in
            context.evaluateScript("myJSFunction(stringToSend)")
            }, completion: { (evaluated) -> Void in
                print("we have completed: \(evaluated)")
        })
    }

最佳答案

以下是我喜欢从 Swift 到 Javascript 的通信方式:

func sendSomething(stringToSend : String) {
    appController?.evaluateInJavaScriptContext({ (context) -> Void in

       //Get a reference to the "myJSFunction" method that you've implemented in JavaScript
       let myJSFunction = evaluation.objectForKeyedSubscript("myJSFunction")

       //Call your JavaScript method with an array of arguments
       myJSFunction.callWithArguments([stringToSend])

       }, completion: { (evaluated) -> Void in
          print("we have completed: \(evaluated)")
    })
}

确保 myJSFunction 在您调用此方法时在您的 javascript 上下文中实现。

当使用 callWithArguments 时,您的 stringToSend 字符串将自动映射到 javascript 字符串。

关于javascript - 将变量从 Swift 传递到 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34665754/

相关文章:

xcode - 如何在 TVML 应用程序中嵌入 Facebook 登录?

javascript - 如何将局部变量值赋给函数的变量 [Three.js] JSON Loader

javascript - jQuery ,将回调绑定(bind)到任何函数

javascript - Stack Overflows 共享答案的过渡效果

ios - Swift ios9 是否修复了导致错误的 UIViewControllerBasedStatusBarAppearance

swift - 处理 Swift 2.0 中的转换错误

javascript - 如何使用jQuery从 "div"标签的css中获取值?

ios - CoreData - 创建新实体 - 为什么不需要保存它?

ios - tvOS - 无法连接到本地主机

ios - 如何加速 tvOS 中的 UICollectionView 单元格渲染