app ios webview
2015-06-27 21:51:00 weixin_33748818 阅读数 4
UIWebView算是在iOS中使用较多的一个控件,但Xcode并没有提供工具让我们调试WebView。那么如何调试WebView呢?Android用Chrome,iOS下当然就得用Safari啦。

首先,我们需要在Safari显示Develop菜单。打开Safari,点击Safari -> Peferences -> Advanced,勾选"Show Develop Menu in Menubar"。

如果是在模拟器中调试的话:
1、在模拟器中打开应用,并点开需要调试WebView的页面;
2、在Safari中点Develop -> iOS Simulator -> XXX.app,弹出Web Inspector进行调试。

如果想用真机调试的话(只能调试用Xcode编译安装的应用):
1、先在设备上启用Web Inspector:点Settings -> Safari -> Advanced,启用Web Inspector;
2、打开应用,并点开需要调试WebView的页面;
3、在Safari中点Develop -> 设备名 -> XXX.app,弹出Web Inspector进行调试。

转载于:https://my.oschina.net/aetern/blog/471556

2015-09-14 16:43:23 u010856537 阅读数 671

文章链接:http://www.cocoachina.com/bbs/read.php?tid=240428


我用UIWebView加载了一个网页,这个网页中有按钮,点击后会弹出对话框


JavaScript中有三种形式的弹出框,alert,confirm,prompt;我只改掉了其中两种,最后那个prompt类型的捕捉不到,实在没找到资料,,求助各位大神帮忙!谢谢!!!


alert和confirm修改的代码如下、、希望对解决我的问题有所帮助!



@interface UIWebView (JavaScriptAlert) <UIAlertViewDelegate>



- (void)webView:(UIWebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame;


- (BOOL)webView:(UIWebView *)sender runJavaScriptConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame;



@end




@implementation UIWebView (JavaScriptAlert)




- (void)webView:(UIWebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame {


    


    UIAlertView* customAlert = [[UIAlertView allocinitWithTitle:@"Alert Title" message:message delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];


    


    [customAlert show];


    [customAlert autorelease];


    


}





static BOOL diagStat = NO;



- (BOOL)webView:(UIWebView *)sender runJavaScriptConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame


{


    UIAlertView *confirmDiag = [[UIAlertView allocinitWithTitle:@"Confirm Title" message:message delegate:self cancelButtonTitle:NSLocalizedString(@"Cancel"@"Cancel"otherButtonTitles:NSLocalizedString(@"OK"@"OK"), nil];



    [confirmDiag show];


    while (confirmDiag.hidden == NO && confirmDiag.superview != nil)


        


        [[NSRunLoop mainRunLooprunUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.01f]];


        


    [confirmDiag release];


    return diagStat;


    


}



- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex


{


    if (buttonIndex == 0)


    {


        diagStat = NO;


    } 


    else if (buttonIndex == 1


    {


        diagStat = YES;


    }    


}



@end



2015-04-19 23:30:27 kyfxbl 阅读数 859

hybrid还是native

使用hybrid开发,有几个好处:

1、web程序员参与开发

2、跨平台

3、快速更新

缺点主要是UI体验比不上原生,比如滚动、弹性、拖拽、动画等,web的效果现在还是比不上native。所以实际项目中,选择哪种开发方式,取决于具体的需求

比如说,我们做的一个店务管理的APP,逻辑非常复杂,但是对UI的要求比较低,这就比较适合使用hybrid来做。因为对UI的要求不高,但是业务逻辑如果需要在多个平台实现,开发和测试的工作量都要加倍,另外APP本身是to business的应用,如果有BUG就需要快速更新

而另一个APP,是面向C端用户的,那么对UI的要求就比较高,并且业务逻辑很简单,这个APP就更适合用native做

webview还是原生view

具体到某个app里,以下几种页面,可以考虑用webview做

1、首页

首页容易有比较大的变化,一般数据也比较多,所以用webview可以快速更新。但是如果首页的排版比较固定,只是数据在刷新,那么也可以用原生view实现

2、活动页

活动页就不用说了,一般排版容易有剧烈的变化,而且经常还需要支持web访问,比如从APP和公众号看到同一个活动,用webview做再合适不过了

3、富文本界面

主要是为了借助html + css的排版功能,当然如果排版是比较固定的,项目组的iOS能力能hold得住,用native来实现也没问题

总的来说,2种情况可以考虑webview:

1、页面需要支持web访问,用webview可以避免重复开发

2、页面的排版变化很大很频繁,也可以考虑用webview;如果只是数据在变化,排版是稳定的,那么用webview就不一定有必要

2015-04-19 23:30:00 kyfxbl 阅读数 27

hybrid还是native

使用hybrid开发,有几个好处:

1、web程序员参与开发

2、跨平台

3、快速更新

缺点主要是UI体验比不上原生,比如滚动、弹性、拖拽、动画等,web的效果现在还是比不上native。所以实际项目中,选择哪种开发方式,取决于具体的需求

比如说,我们做的一个店务管理的APP,逻辑非常复杂,但是对UI的要求比较低,这就比较适合使用hybrid来做。因为对UI的要求不高,但是业务逻辑如果需要在多个平台实现,开发和测试的工作量都要加倍,另外APP本身是to business的应用,如果有BUG就需要快速更新

而另一个APP,是面向C端用户的,那么对UI的要求就比较高,并且业务逻辑很简单,这个APP就更适合用native做

webview还是原生view

具体到某个app里,以下几种页面,可以考虑用webview做

1、首页

首页容易有比较大的变化,一般数据也比较多,所以用webview可以快速更新。但是如果首页的排版比较固定,只是数据在刷新,那么也可以用原生view实现

2、活动页

活动页就不用说了,一般排版容易有剧烈的变化,而且经常还需要支持web访问,比如从APP和公众号看到同一个活动,用webview做再合适不过了

3、富文本界面

主要是为了借助html + css的排版功能,当然如果排版是比较固定的,项目组的iOS能力能hold得住,用native来实现也没问题

总的来说,2种情况可以考虑webview:

1、页面需要支持web访问,用webview可以避免重复开发

2、页面的排版变化很大很频繁,也可以考虑用webview;如果只是数据在变化,排版是稳定的,那么用webview就不一定有必要

2016-02-25 13:53:19 hero118023 阅读数 3258

              So.写下体会.现在的兼容开发模式.webView以经在app存在的越来越频繁.慢慢说点很难在网上找到的小细节吧.

             需求是这样的,进入一个controller,加载webView.等webView业务走完以后.跳转到app的上一个controller.就是跳转到webView controller 响应事件的controller.

             这个时候,我们所要做的,其实也很简单.比如说最后一个页面的网址是百度,而我们只用在webView加载到百度的时候做响应事件即可.

            OK . 代码:

                 首先 遵守  协议  

               UIWebViewDelegate

     实现下面的协议方法

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

    

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

        //www.baidu.com  即是最后一个网页,但不显示

    if ([requstString  hasPrefix:@"http://www.baidu.com"]) {

        //响应事件

        [self.navigationController  popViewControllerAnimated:YES];

        return NO;

    }

    return YES;

}


//最后打个广告,新建iOS技术群,欢迎大家加入进行技术讨论.群号:207577704

      

没有更多推荐了,返回首页