我在OS X应用程序中使用webview,并得到了客户的奇怪要求:
1)需要在应用程序中显示webview的地址栏,我试过,如果webview有任何支持但无法找到。我知道我可以通过拥有一个文本字段和显示网址来做到这一点,但我不确定这是否正确,所以还有其他更好的方法,请建议。
2)还需要检查加载的URL是否具有SSL支持并显示一些图标,如挂锁(打开/关闭)。那么我是否可以使用Webview的任何支持或功能,或者我只需检查http或https的URL前缀?请帮忙。
提前致谢。 MP
答案 0 :(得分:0)
这正是你应该做的。创建文本字段,并将这段代码插入到您的应用程序中:
- (void)webView:(WebView *)sender didStartProvisionalLoadForFrame:(WebFrame *)frame {
NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"window.location"];
[myTextField setStringValue:currentURL];
}
对于问题的第二部分,请使用currentURL
字符串,并使用NSNotFound方法检查字符串中是否存在https://。使用[myString rangeOfString:@"string_to_search_for"].location != NSNotFound
,如果找到rangeOfString:
,它将返回true。 (!= 表示不等于。)(所以!= NSNotFound 表示您的rangeOfString不等于未找到...如果这有意义的话)
- (void)webView:(WebView *)sender didStartProvisionalLoadForFrame:(WebFrame *)frame {
NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"window.location"];
if ([currentURL rangeOfString:@"https://"].location != NSNotFound) {
// *https://* exists! Show your closed padlock image!
} else {
// *https://* does not exist. Show your open padlock image.
}
}
希望这有用!