2013-07-08 6 views
-1

Webview делегат shouldstartloadwithrequest recieves URL из HTML и когда я проверить, что запрос все были преобразованы в строчные буквы:IOS, UIWebView,

- (BOOL) webView: (UIWebView *) webView shouldStartLoadWithRequest:(NSURLRequest *) request navigationType: (UIWebViewNavigationType) navigationType { 
    // Only do something if a link has been clicked 
    if (navigationType == UIWebViewNavigationTypeLinkClicked) { 
     NSString *link = [[request URL] absoluteString]; 
     if ([link hasPrefix:@"playSound:"]) { 
      [PlayAudio playAudio: [link substringFromIndex:10]]; 
      return NO; 
     } 
    } 
    return YES; 
} 

Линия, которые делают проблема

NSString *link = [[request URL] absoluteString]; 

Перед Я получил немодифицированную копию щелкнутой ссылки. В iOS3 и iOS4 все равно. Но на iOS5 он преобразуется только в нижний регистр. Следующая строка

if ([link hasPrefix:@"playSound:"]) { 

никогда не становится правдой. Так что мне пришлось изменить код

- (BOOL) webView: (UIWebView *) webView shouldStartLoadWithRequest:(NSURLRequest *) request navigationType: (UIWebViewNavigationType) navigationType { 
    // Only do something if a link has been clicked 
    if (navigationType == UIWebViewNavigationTypeLinkClicked) { 
     NSString *link = [[[request URL] absoluteString] lowercaseString]; 
     if ([link hasPrefix:@"playsound:"]) { 
      [PlayAudio playAudio: [link substringFromIndex:10]]; 
      return NO; 
     } 
    } 
    return YES; 
} 
+2

Soooo ... в чем вопрос? – johnyu

+0

Точно .. ват это ?? – croyneaus4u

+0

-1 для нет актуального вопроса. Удаляется, если задан вопрос. – Popeye

ответ

0
if ([link hasPrefix:@"playsound:"] ||[link hasPrefix:@"playSound:"]) 
{ 
    [PlayAudio playAudio: [link substringFromIndex:10]]; 
     return NO; 
} 
+0

Но проблема в том, что im получает закодированное значение в поле запроса. Когда я получаю все, что мало, я не могу его декодировать. Когда я его расшифровываю, я получаю нуль. –

1

Этого изменение, внесенное в рамках обновления до сафари в прошивке 5 и соответствуют спецификациям для URL. Схема URL всегда будет преобразована в нижний регистр.

(Мне пришлось исправить много кода из-за этого изменения)