Javascript konsolu.() günlük bir iOS UİWebView içinde | Netgez.com
SORU
28 HAZİRAN 2011, Salı


Javascript konsolu.() günlük bir iOS UİWebView içinde

Bir UİWebView ile iPhone / iPad app yazarken görünmez konsol. this excellent answer ama konsolu kullanmak istiyorum nasıl tuzak hataları gösterir.() günlük olarak.

CEVAP
28 HAZİRAN 2011, Salı


Apps hata ayıklama konsolu için, javascript kullanarak oturum açmak için bir çözüm var. Biraz ilkel ama işe yarıyor.

İlk olarak, konsol tanımlayın.() günlük açılır ve hemen ios-bir günlük ile bir iframe kaldırır javascript içinde fonksiyon: url.

// Debug
console = new Object();
console.log = function(log) {
  var iframe = document.createElement("IFRAME");
  iframe.setAttribute("src", "ios-log:#iOS#"   log);
  document.documentElement.appendChild(iframe);
  iframe.parentNode.removeChild(iframe);
  iframe = null;    
};
console.debug = console.log;
console.info = console.log;
console.warn = console.log;
console.error = console.log;

Şimdi iOS uygulaması shouldStartLoadWithRequest işlevini kullanarak UİWebViewDelegate bu URL yakalamalıyız.

- (BOOL)webView:(UIWebView *)webView2 
shouldStartLoadWithRequest:(NSURLRequest *)request 
 navigationType:(UIWebViewNavigationType)navigationType {

    NSString *requestString = [[[request URL] absoluteString] stringByReplacingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
    //NSLog(requestString);

    if ([requestString hasPrefix:@"ios-log:"]) {
        NSString* logString = [[requestString componentsSeparatedByString:@":#iOS#"] objectAtIndex:1];
                               NSLog(@"UIWebView console: %@", logString);
        return NO;
    }

    return YES;
}

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • Autodesk 3ds Max Learning Channel

    Autodesk 3ds

    23 HAZÄ°RAN 2010
  • Britec09

    Britec09

    4 Mart 2009
  • Electro Posé

    Electro PosÃ

    21 ÅžUBAT 2013