2015-09-26 6 views
1

Я использую WebView в одном из OS X приложения и получил странное требование от клиента, что:OS X - WebView расспрашивает

1) нужно показать адресную строку в приложении для WebView, я попробовал, есть ли поддержка WebView но не мог найти. Я знаю, что могу это сделать, имея текстовое поле и отображающий URL-адрес, но я не уверен, что это правильный путь, так что есть и другой лучший способ, пожалуйста, предложите.

2) Необходимо также проверить, поддерживает ли загруженный URL-адрес поддержку SSL и показывает значок, например, замок (открыть/закрыть). Итак, снова есть какая-либо поддержка или функция Webview, которую я могу использовать, или мне просто нужно проверить префикс URL-адреса http или https? Пожалуйста помоги.

Заранее спасибо. 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, он вернет true, если найдено rangeOfString:. (! = означает не равно.) (Так ! = 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. 
    } 
} 

Надежда это было полезно!

Смежные вопросы