2015-09-26 58 views
1

我使用的WebView在OS X的應用程序之一,並得到了客戶奇怪的要求,即:OS X - 的WebView質疑

1)需要顯示地址欄在應用程序的網頁流量,我想如果有通過網頁流量的任何支持但無法真正找到。我知道我可以通過在文本字段中顯示URL來實現這一點,但我不確定這是否正確,所以還有其他更好的方法,請建議。

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字符串,並檢查是否https://開頭使用NSNotFound方法存在的字符串中。通過使用[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. 
    } 
} 

希望這是有幫助的!