注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

融智技术学院

融智技术学院163分站,为广大好友提供更多的帮助

 
 
 

日志

 
 

【iPhone每日一问】在iOS的UIWebView中如何使用Javascript的console.log()?  

2014-05-28 13:17:10|  分类: iPhone |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
    问:

当我使用一个UIWebView写一个iPhone/iPad应用程序时,控制台不可见。这个杰出的回答显示了如何捕获错误,但是我想要使用console.log()

答:

我有一个解决方案使用javascript,实现程序调试控制台,这有点粗略,但它可以运行。

首先,我们采用javascript定义了console.log()函数,打开并立即使用ios-logurl删除iframe。代码如下:

  • // 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;

现在,我们必须在iOS应用程序中使用shouldStartLoadWithRequest函数捕获这个在UIWebViewDelegate中的URL

  • - (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;
  • }

 

温馨提示:您的支持与理解,是我们工作最大的动力。如果您是从网上购买的图书,请在对应的网店,给予本书一个好评,我们将衷心感谢!!!
以下是《突破,Objective-C开发速学手册》对应的购书评论地址:
当当网http://product.dangdang.com/23301950.html
亚马逊http://www.amazon.cn/dp/B00DY89JIY
京东网http://item.jd.com/11280184.html

  评论这张
 
阅读(16)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018