iOS:使用 SwiftUI 在 Web 视图中调用带有 2 个参数的 JS 函数

问题描述 投票:0回答:2

我试图在我的 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))")

javascript swift webview
2个回答
2
投票

假设其他一切正常(例如

Token
Ident
存在值并且您的 Javascript 函数存在),主要问题看起来像是您没有在 Javascript 中将字符串括在引号中:

uiView.evaluateJavaScript("testFunction(\"\(token)\",\"\(ident)\")")

0
投票

我在 Xcode 中使用 Swift 尝试了接受的答案,发现它无法编译。我使用的解决方案已编译并且运行良好。引号很重要,但有些斜线是不必要的。

webView.evaluateJavaScript("receiveReceiptURL('(token!)', '(ident!)')",completionHandler: {(结果, 错误) in

© www.soinside.com 2019 - 2024. All rights reserved.