我试图在我的 web 视图中调用我的 JS 函数,该函数使用评估JS 接受 2 个参数,但我似乎没有点击该函数。 (它可以在没有参数的情况下工作,所以我认为我在 SwiftUI 方面的语法错误。想知道是否有人可以提供建议。
JS功能:
function testFunction(message, ident) {
document.getElementById('index_registernow').style.display = 'none';
}
SwiftUI 方面:
let token = (UserDefaults.standard.string(forKey: "Token") ?? "")
let ident = (UserDefaults.standard.string(forKey: "Ident") ?? "")
uiView.evaluateJavaScript("testFunction(\(token),\(ident))")
假设其他一切正常(例如
Token
和 Ident
存在值并且您的 Javascript 函数存在),主要问题看起来像是您没有在 Javascript 中将字符串括在引号中:
uiView.evaluateJavaScript("testFunction(\"\(token)\",\"\(ident)\")")
我在 Xcode 中使用 Swift 尝试了接受的答案,发现它无法编译。我使用的解决方案已编译并且运行良好。引号很重要,但有些斜线是不必要的。
webView.evaluateJavaScript("receiveReceiptURL('(token!)', '(ident!)')",completionHandler: {(结果, 错误) in