iOS wkwebview 判断有没有js调用 _protoquerencaozuo 这个方法object-c
你可以使用 WKScriptMessageHandler 协议来监听 JavaScript 对象调用 Objective-C 方法的请求。下面是一个简单的示例,演示如何在 iOS 的 WKWebView 中判断是否有 JavaScript 调用了名为 _proto.querencaozuo 的方法:
首先,创建一个遵循 WKScriptMessageHandler 协议的对象,并实现代理方法 userContentController(_:didReceive:):
import WebKit
class MyScriptMessageHandler: NSObject, WKScriptMessageHandler {
func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
if message.name == "_proto" && message.body as? String == "querencaozuo" {
// JavaScript 调用了 _proto.querencaozuo 方法
// 在这里执行你想要的操作
print("JavaScript 调用了 _proto.querencaozuo 方法")
}
}
}
然后,在创建 WKWebView 时,将该对象指定为 WKUserContentController 的代理,并将其添加到 userContentController 的 add(_:name:) 方法中:
let configuration = WKWebViewConfiguration()
let userContentController = WKUserContentController()
let scriptMessageHandler = MyScriptMessageHandler()
userContentController.add(scriptMessageHandler, name: "_proto")
configuration.userContentController = userContentController
let webView = WKWebView(frame: .zero, configuration: configuration)
现在,当 JavaScript 调用 _proto.querencaozuo 方法时,MyScriptMessageHandler 对象的 userContentController(_:didReceive:) 方法将被调用,并你可以在其中执行你想要的操作。
注意:确保在 JavaScript 中正确调用了 _proto.querencaozuo 方法,并且 WKWebView 加载的网页中已经注入了相应的 JavaScript 代码
原文地址: https://www.cveoy.top/t/topic/iTsC 著作权归作者所有。请勿转载和采集!