Tag: uiwebview

UIWebView捕获响应头

我search/search了很多,但无法得到如何在UIWebview捕获HTTP响应头的UIWebview 。 假设我在应用程序启动的UIWebview中将用户redirect到注册网关(已经处于活动状态),并且当用户完成注册时,应该通过在HTTP响应头中传回的注册时分配给用户的成功唯一标识来通知应用程序。 有没有直接的方式来捕获/打印使用UIWebview的HTTP响应头?

iOS下载并保存HTML文件

我试图下载一个网页(HTML),然后显示已下载的本地HTML在UIWebView中。 这是我所尝试过的 – NSString *stringURL = @"url to file"; NSURL *url = [NSURL URLWithString:stringURL]; NSData *urlData = [NSData dataWithContentsOfURL:url]; if ( urlData ) { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *filePath = [NSString stringWithFormat:@"%@/%@", documentsDirectory,@"index.html"]; [urlData writeToFile:filePath atomically:YES]; } //Load the request in the UIWebView. [web loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle […]

在Safari中打开链接而不是UIWebVIew?

我有一个UIWebView在UIViewController内的应用程序。 我从Web服务中加载HTML,如下所示: self.webView loadHTMLString:_string baseURL:nil 这个string中的HTML链接是否可以在浏览器中打开,而不是在我的应用程序的UIWebView? 我怎样才能做到这一点? 我已经在“主办”UIWebVIew的UIViewController中试过: -(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { if (navigationType == UIWebViewNavigationTypeLinkClicked) { [[UIApplication sharedApplication] openURL:[request URL]]; return NO; } return YES; } 它似乎没有工作…. 有任何想法吗?

当webview大于屏幕时,将UIWebview内容转换为UIImage

非常类似于这个问题 (也是这个答案 ),我试图从Web视图中创build一个UIImage。 到目前为止,我正在使用在答案中build议的代码,具体来说: UIGraphicsBeginImageContext(webview.bounds.size); [webview.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); 但是,当webview的内容大于屏幕时,生成的图像不完整,缺less补丁。 有想法该怎么解决这个吗?

将一个本地JavaScript注入到UIWebView中

有没有办法将我的服务器上存储的本地JS文件或JS文件注入到由UIWebView加载的任何网页中? 说我在该UIWebView导航到google.com,它呈现该页面,也运行我的JS文件(本地或我的networking服务器)?

在UIWebView iOS 8中渲染PDF会导致PDF的黑色边框

在iOS 8中,将.PDF渲染到UIWebview ,显示的PDF(不是整个背景视图)周围有黑色的边框和背景。 请注意,这不是UIWebview背景设置为: myWebView.opaque = NO; myWebView.backgroundColor = [UIColor clearColor]; 这在<iOS8中不存在((.PDF周围没有黑色边界的彩色背景) 任何人都能体验到这一点,可以对此有所了解? 我的PDF加载到Web视图像这样.. – (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; if (self.pdfData != nil && self.viewHasUnloaded == YES) { self.viewHasUnloaded = NO; [self.webView loadData:self.pdfData MIMEType:@"application/pdf" textEncodingName:@"utf-8" baseURL:nil]; } }

是否有可能caching加载在iPhone UIWebView中的资源?

我有一个简单的应用程序加载在UIWebView为iPhone优化的网站。 问题是,caching似乎不起作用: [webView loadRequest: [NSURLRequest requestWithURL: [NSURL URLWithString: url] cachePolicy: NSURLRequestUseProtocolCachePolicy timeoutInterval: 60.0]]; 在这个远程页面(css,图像,外部JavaScript文件)中引用的任何东西都不会被caching(请求永远不会发送If-Modified-Since标头或其他任何以caching控制的方式)。 可能吗? 它似乎与一个常规的Cocoa WebView有一个委托方法调用每个资源请求和后加载( -didFinishLoadingFromDataSource: ,您可以使用它来滚动自己的caching..但这似乎不适用于此。 我的整个页面(页面及其参考资源)都是89K左右压缩的。这在某些地方比3G慢,在EDGE上更差。 传入的请求至less表明它接受压缩( accept-encoding=gzip, deflate ),所以这很好,我想。 我读了这个yui的研究 ,这似乎表明,iPhone将caching每件25k。 唯一被引用超过25k的未压缩是jquery(打包但未压缩 – 它是30k)。 其他一切应该可caching。 取出页面中引用的任何内容的请求都不会触发服务器端的304。 那个研究是从一年前开始的,我只是在用移动探险的方式进行猜测。 这是在本机iPhone应用程序中使用UIWebView 。

UIWebView随机崩溃在:消息发送到解除分配的实例

我有一个随机的UIWebView崩溃使用iOS8.1和UIWebView ,使用iPhone5 。 在我的testing中, iOS7上没有出现崩溃 。 我已经创build了这个github仓库来重现崩溃: https : //github.com/crarau/WebViewCrash 基本上我添加一个UIWebView并加载www.amazon.com 随机应用程序崩溃与EXC_ARM_BREAKPOINT 在控制台上启用僵尸跟踪后 ,会出现以下消息: [UIViewAnimationState release]: message sent to deallocated instance 0x14deff70 这里在UIView负载上发生了什么: [super viewDidLoad]; NSURLRequest * urlRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.amazon.com"]]; self.webView.layer.cornerRadius = 0; self.webView.userInteractionEnabled = YES; self.webView.multipleTouchEnabled = YES; self.webView.backgroundColor = [UIColor clearColor]; self.webView.scrollView.scrollEnabled = NO; self.webView.scrollView.bounces = NO; [self.webView loadRequest:urlRequest]; exception堆栈跟踪: Exception […]

如何从UIWebView下载文件并再次打开

如何创build一个“下载pipe理器”来检测当你点击一个链接(在UIWebView中)的文件结尾是“.pdf”,“.png”,“.jpeg”,“.tiff”,“.gif” ,“.doc”,“.docx”,“.ppt”,“.pptx”,“.xls”和“.xlsx” ,然后打开UIActionSheet询问您是否要下载或打开。 如果您select下载,则会将该文件下载到设备。 应用程序的另一部分将有一个UITableView中的下载文件的列表,当你点击它们,他们将显示在一个UIWebView,但当然离线,因为他们将本地加载,因为他们已经被下载。 请参阅http://itunes.apple.com/gb/app/downloads-lite-downloader/id349275540?mt=8 ,以更好地了解我所要做的事情。 这样做的最好方法是什么?

WKWebView和NSURLProtocol不起作用

当使用旧的UIWebView时,你可以通过实现一个自定义NSURLProtocol来捕捉请求。 我们这个来处理需要authentication的请求。 我尝试了相同的代码,它不适用于新的WKWebView,但我的协议类根本不被调用。 有人遇到同样的问题,还是有一个更好的方式与WKWebView进行身份validation? 没有任何修改,我在resolvePolicyForNavigationResponse委托函数中得到了一个401响应。 我也尝试使用NSURLConnection连接到服务器,并使用NSURLConnectionDataDelegate处理身份validation。 这工作,但存储的凭据不拾取WKWebView。