Tag: uiwebview

如何在UIWebview中的目录(JS,图像,CSS)加载本地HTML资产? (IOS)

具体来说 – 如何在不改变原始HTML内容(删除目录)的情况下从各自的目录(images /,css /,js /)加载所有资源? 我正在使用此代码加载到UIWebview的index.html: NSURL *url = [[NSBundle mainBundle] URLForResource:@"index" withExtension:@"html"]; NSString *html = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil]; NSString *path = [[NSBundle mainBundle] bundlePath]; NSURL *baseURL = [NSURL fileURLWithPath:path]; [webView loadHTMLString:html baseURL:baseURL]; 然后我的html看起来像这样: … <link rel="stylesheet" type="text/css" href="css/main.css" /> <script type="text/javascript" src="js/classes.js"></script> <script type="text/javascript" src="js/animate.js"></script> etc… 如果我删除了js /,css /和images /,则一切正常,因为iOS认为一切都在我的包的根目录中。 但是,这意味着我不能跨项目使用相同的代码,而不是将其全部转储到一个目录(跛脚)。 我的工程师不能处理这种混乱。 […]

使用JavaScript从UIWebView获取单词

我正在显示一些本地的网页内容,并希望获得点击下的单词。 单击委托设置,我可以得到它的工作很好,如果我使用UITextView并加载与NSAttributedString和NSHTMLTextDocumentType的HTML,但我失去了格式,如段间距和小型大写; 添加一个NSMutableParagraphStyle是没有效果的。 使用包含JQuery的UIWebView和loadHTMLString,有没有办法? 有几个页面显示如何使用JS来获取光标下的单词,如下所示: 如何使用JavaScript获取光标下的单词? 如何让光标下的单词? 获取鼠标指针下的单词 是否有可能在“<textarea>`中的鼠标光标下的单词? 如何让光标下的单词? 但几天后,我一直无法工作。 我的代码: var jsFile = NSBundle.mainBundle().pathForResource("webview", ofType: "js"); let jsData = NSString(contentsOfFile:jsFile!, encoding:NSUTF8StringEncoding, error:nil) as! String let returned = webView.stringByEvaluatingJavaScriptFromString(jsData)! as String println("Returned \(returned).") 这个单词可以是unicode,代码范围不同,但是要先写好任何一个单词,都会很棒。

iOS:显示UIWebView顶部的模态视图

是否有可能在UIWebView的顶部显示模态视图? 我有一个加载WebView的UIViewController。 然后,我想要在顶部推一个模态视图控制器,以便模态视图暂时覆盖WebView … WebView工作正常; 这是它在View Controller中的加载方式: – (void)loadView { // Initialize webview and add as a subview to LandscapeController's view myWebView = [[[UIWebView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]] autorelease]; myWebView.scalesPageToFit = YES; myWebView.autoresizesSubviews = YES; myWebView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight); myWebView.delegate = self; self.view = myWebView; } 如果我尝试从viewDidLoad中加载模态视图控制器,则不会出现任何模态视图: – (void)viewDidLoad { [super viewDidLoad]; // Edit […]

使用带有ADFS的系统login到iOS应用程序

我有兴趣创build一个应用程序,login到使用ADFS和SAML的单点login系统。 现在我很高兴地看到它,我只是想知道是否有什么特定于iOS平台的东西,以及如何集成,甚至可能与演示应用程序。 我发现这个网站: 使用SAML和OAuth的桌面和移动应用程序的单点login 我意识到,这不是一个“编码问题”的问题,但我相信当我开始开发时,他们会从这个问题中走出来:-) 我希望你们中的一些能够提供一些有用的信息:-) 提前致谢。

按下button上传下一个视图或web视图时,如何显示活动指标?

当我点击button,哪个标题是点击这里放大然后我想显示活动指标在第一个视图,并删除时,加载此视图。 但我回去那么它显示活动指标,这是显示在这个视图。 在第一个vie .m文件我已经使用这个代码的行动。 -(IBAction)btnSelected:(id)sender{ UIButton *button = (UIButton *)sender; int whichButton = button.tag; NSLog(@"Current TAG: %i", whichButton); UIActivityIndicatorView *spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]; [spinner setCenter:CGPointMake(160,124)]; [self.view addSubview:spinner]; [spinner startAnimating]; if(whichButton==1) { [spinner stopAnimating]; first=[[FirstImage alloc]init]; [self.navigationController pushViewController:first animated:YES]; [spinner hidesWhenStopped ]; }} 在上面的代码中,我有button动作,我在其中调用下一个视图。 现在我想显示/显示活动指标,当查看上传。 在接下来的视图中,我有一个图像视图,其中我上传的图像我已经声明一个活动指标,也不工作。 那怎么办?

iOS使用UIWebVIew的外部应用程序打开文档

我有一个UIWebView 。 点击包含文档的链接时,我想在外部应用程序(办公室,openoffice等)中打开该文档,但不在UIWebView 。 我知道如何做电子邮件: – (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { if ([[[request URL] scheme] isEqual:@"mailto"]) { [[UIApplication sharedApplication] openURL:[request URL]]; return NO; } return YES; } 有没有办法做到这一点,但文件? 谢谢! 编辑:这就是我所做的: – (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { NSURL* possibleDocumentURL = [request mainDocumentURL]; NSString* extension = [[possibleDocumentURL lastPathComponent] pathExtension]; if ([[[request URL] scheme] isEqual:@"mailto"]) { […]

在ios9上显示uiwebview中的pdf有时滚动卡住了

我正在开发一个用swift编写的ios应用程序,xcode7 一个视图上有一个UIWebView 。 使用loadRequest(NSURLRequest)我们从磁盘加载一个PDF文件。 这工作正常,但有时PDF文件不能滚动通过第一页或你看到的第一个在屏幕上。 我无法确定是什么原因导致不滚动,因为有时我再次打开同一个文件,然后滚动。 试图滚动,当它不想弹跳屏幕的底部,你可以看到有另一个页面,但你不能滚动到视图。 UIWebView包含的UIScrollView (这是默认的)知道有更多的页面,因为它在屏幕上显示“1的3”。 UIWebView 有'缩放页面适合'检查 已启用'用户交互'检查 有'多点触摸'不检查 有'autoresize子视图'选中 有模式'填充比例' 我已经尝试了以下内容: 通过在屏幕上放置一个边框检查滚动视图是否不大于屏幕:不,它适合在屏幕上,并且与您期望的一样大 在代码中将内部UIScrollView.scollEnabled设置为true 在应用程序中,当显示UIWebview ,它通过折叠上面的元素来在屏幕上resize,但是我已经用固定的高度testing了它,并且它不改变任何东西。 当我在内部UIScrollView上调用flashScrollIndicators()时,这与滚动或不滚动一致。 如果您看到滚动条闪烁,则可以滚动。 如果没有,那么你不能滚动过去的第一页。 任何其他的想法,我可以尝试?

将UIWebView转换为具有dynamic大小的UITableViewCell

我有UIWebView对象成倍数UITableViewCell 。 每个webView具有不同的大小。 原来,所有的细胞都是一样的高度。 一旦用户触摸单元格,它将展开以显示所有的webView内容。 我使用- (void) webViewDidFinishLoad:(UIWebView *)aWebViewdynamic获取webView的高度和- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath来调整单元格的大小。 但是, webViewDidFinishLoad仅在resize方法之后调用,因此resize是使用webView高度的旧值创build的。 我试图以所需的顺序手动调用这两种方法,但它确实有效(我不认为我应该这样做,无论如何…)。 这里是我的代码加载networking视图到每个单元格: [self.webView setUserInteractionEnabled:NO]; [self.webView loadHTMLString:finalString baseURL:nil]; [cell addSubview:self.webView]; cell.accessoryView = accessoryLabel; cell.textLabel.text = nil; self.selectedRowIndex = indexPath.row; [tableView beginUpdates]; [tableView endUpdates]; [tableView deselectRowAtIndexPath:indexPath animated:YES]; 要dynamic获取单元大小: – (void) webViewDidFinishLoad:(UIWebView *)aWebView { CGRect frame = aWebView.frame; frame.size.height = 1; aWebView.frame = […]

如何在UIWebview中保持login会话?

我在我的应用程序中使用UIWebView。 我想在第一个webview中加载一个URL,从那个用户可以login他的账户。 login后,用户从webview中出来,并在iOS本机视图中做其他的东西。 稍后当他调用相同的URL时,他必须login。怎么可能? 我已经在Gmail中看到了这一点,当我login我的帐户在一个选项卡,并closures它,我的GMAIl帐户loginSafari浏览器,每当我打开任何选项卡。 我已经尝试了下面的东西,但没有工作。 请给我一个解决scheme -(void)loadCookies { NSArray *cookies = [NSKeyedUnarchiver unarchiveObjectWithData: [[NSUserDefaults standardUserDefaults] objectForKey: @"cookies"]]; NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; for (NSHTTPCookie *cookie in cookies) { [cookieStorage setCookie: cookie]; } } -(void)saveCookies { NSData *cookiesData = [NSKeyedArchiver archivedDataWithRootObject: [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]]; NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; [defaults setObject: cookiesData forKey: @"cookies"]; [defaults […]

iOS 7 UIWebView 304caching错误,空白页面

我有一个问题,我发现在我的应用程序有一个UIWebView。 iOS 7caching空白主体304响应,导致用户刷新UIWebView时显示空白页面。 这是不好的用户expierience,我想弄清楚如何解决这个在iOS端,因为我没有控制如何亚马逊S3响应头(这是我用于我的资源托pipe)。 这些bug的更多细节被这些人发现: http : //tech.vg.no/2013/10/02/ios7-bug-shows-white-page-when-getting-304-not-modified-from-server / 我会很感激提供的任何帮助,如何我可以在应用程序端而不是服务器端解决这个问题。 谢谢。 更新:使用赏金的build议修正这个错误作为指导: @property (nonatomic, strong) NSString *lastURL; – (void)webViewDidFinishLoad:(UIWebView *)webView { [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; if ([self.webView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"].length < 1) { NSLog(@"Reconstructing request…"); NSString *uniqueURL = [NSString stringWithFormat:@"%@?t=%@", self.lastURL, [[NSProcessInfo processInfo] globallyUniqueString]]; [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:uniqueURL] cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:5.0]]; } } – (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request […]