gpt4 book ai didi

javascript - 如何在WKWebView中调用带参数/不带参数的JavaScript函数?

转载 作者:行者123 更新时间:2023-11-30 12:32:54 26 4
gpt4 key购买 nike

我已在WKWebView中加载网站网址。在处理 WKScriptMessageHandler 后的某个阶段,我做了一些 native 操作。

完成 native 操作后,我想在现有加载的WKWebView中调用java脚本函数。

用于测试Javascript功能很简单

function try_once()
{
// some code
}

在 Swift 中我做到了:

let str = "try_once();"

self.wkWeb.evaluateJavaScript(str, completionHandler: { (obj, error) in

if error != nil
{
print("Error: \(String(describing: error))")
}
else
{
print("Object : \(String(describing: obj))")
}
})

但是我收到了这个错误:

Error Domain=WKErrorDomain Code=4 "A JavaScript exception occurred" UserInfo={WKJavaScriptExceptionLineNumber=1, WKJavaScriptExceptionMessage=ReferenceError: Can't find variable: try_once, WKJavaScriptExceptionSourceURL=http://SOMEURL/user/signin/?_next=/v2/#, NSLocalizedDescription=A JavaScript exception occurred, WKJavaScriptExceptionColumnNumber=9})

最佳答案

这可能是因为您尝试执行的 JavaScript 函数在方法调用时未加载。您可以添加一个观察者来在加载脚本后执行它。要添加观察者,请查看此 answer .

引用:Can't find variable error when calling method

谢谢。希望这会有所帮助。

关于javascript - 如何在WKWebView中调用带参数/不带参数的JavaScript函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43252383/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com