【问题标题】:How do I fix my webview loading the second time and not the first?如何修复我的 webview 加载第二次而不是第一次?
【发布时间】:2017-01-07 01:40:14
【问题描述】:

这个问题不言自明,但我还是会解释一下。出于某种原因,当我尝试加载新网页时,它会看到网页 URL,但在您第一次按下按钮时它不会加载它。只有当您再次按下按钮时,它才会真正加载。我该如何解决这个问题?

这是我的按钮的代码:

 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *filePath = [NSString stringWithFormat:@"%@/%@", [paths objectAtIndex:0],@"index.html"];

// Download and write to file

NSURL *url = [NSURL URLWithString:_varString];

NSData *urlData = [NSData dataWithContentsOfURL:url];
[urlData writeToFile:filePath atomically:YES];
//Load file in UIWebView
[_Hoot loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:filePath]]];

*另外请注意,即使我在这里复制网页然后从文件中加载它,如果我只是从 URL 加载它,我仍然会遇到同样的问题。

【问题讨论】:

  • 你试过在调试器中运行这段代码吗?任何变量都为零吗?您是否可能在加载 XIB 之前调用它?为什么要将网页下载到磁盘然后显示磁盘版本?这很危险,本地文件的脚本可以访问文件系统。至少你应该给负载......调用一个baseURL至少可以使用。

标签: ios objective-c webview uiwebview


【解决方案1】:

试试这个:

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *filePath = [NSString stringWithFormat:@"%@/%@", [paths objectAtIndex:0],@"index.html"];

    // Download and write to file
    NSURL *url = [NSURL URLWithString:_varString];
    NSData *urlData = [NSData dataWithContentsOfURL:url];
    [urlData writeToFile:filePath atomically:YES];

    //Load file in UIWebView
    NSURL *urlen = [NSURL fileURLWithPath:filePath];
    NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:urlen];
    [_Hoot loadRequest:urlRequest];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-21
    • 2017-03-13
    • 2021-07-03
    • 2015-03-25
    • 2019-08-19
    • 2011-07-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多