我正在使用Cordova 6.0.0开发混合应用程序,我必须从Javascript端调用本机Objective-C函数。在SO上查找解决方案之后,我已经实现了如下连接:
在HTML页面上:
window.location = "nativeCall";
在IOS方面:
- (BOOL) webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
{
NSURL* url = request.URL;
return [super webView:webView shouldStartLoadWithRequest:request navigationType:navigationType];
}
Javascript to Objective-C连接成功,因为每当window.location
更改时,我都可以在上面的行上调试断点。
但是,request
对象始终返回nil。我需要解析request.URL
以从javascript函数中捕获字符串。我尝试了以下方法:
window.location = "#nativeCall"
window.location.hash = "nativeCall"
window.location.hash = "#nativeCall"
但它仍然会在IOS端产生一个nil请求对象。为什么request
可以为零?