为什么我的页面下载到文件夹iPhone模拟器的文档是不可加载的?

时间:2013-08-01 15:00:01

标签: iphone objective-c uiwebview

我在Objective C和javascript之间制作了一个混合应用程序。我的应用程序如此工作:

  1. 当我按下第一个按钮时,它将加载UIWebView
  2. 在此UIWebView中,我可以将html保存到Documents文件夹
  3. 当我保存网站时,我创建了一个JSON来存储信息,我将这个JSON保存到Documents文件夹
  4. 当我按下第二个按钮时,它将加载另一个UIWebView,其中有一个移动网站从JSON读取信息并将此数据显示在html列表中
  5. 当我按下一个站点的名称时,它将从Documents文件夹
  6. 加载该站点

    前4点效果很好,但是当我按下网站标题时我确实遇到了麻烦,实际上,UIWebView向我展示了一个页面,其中写有该页面未存储在此服务器上的页面。当我使用Finder导航到我的应用程序的Documents文件夹时,我双击html网站,它会在Safari中显示它。为什么当我用UIWebView加载它时不起作用?我将在这里发布截图以了解我的流程。

    enter image description here

    代码:我在这里发布了加载html的代码:

    viewDidLoad方法,我调用方法加载我的页面

    - (void)viewDidLoad
    {
        [super viewDidLoad];
        // Do any additional setup after loading the view.
        self.webView.delegate = self;
        //[self loadWebsite:@"http://localhost/root/main/index.html"];
        [self loadWebsite:@"http://192.168.2.1/root/main/index.html"];
    }
    

    loadWebsite方法

    -(void)loadWebsite:(NSString*)site
    {
        NSURL *url = [NSURL URLWithString:site];
        NSURLRequest *request = [NSURLRequest requestWithURL:url];
        [self.webView setScalesPageToFit:YES];
        [self.webView loadRequest:request];
    }
    

1 个答案:

答案 0 :(得分:0)

这似乎是关于如何将html文件加载到webview中的问题。您应该在加载uiwebview的地方发布代码。

要使用本地文件加载webview,请使用以下代码:

NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] 
pathForResource:@"htmlfilename" ofType:@"html" inDirectory:@"Documents"]];
[webview loadRequest:[NSURLRequest requestWithURL:url]];

您可以参考这篇文章:Load resources from relative path using local html in uiwebview