从作为zip下载的包中加载UIWebview中的.js文件

时间:2013-07-31 09:12:55

标签: javascript ios uiwebview bundle

我想在UIWebView中显示“完整网站”(包装在一个包中)。

当我把软件包放在xcode中并将其添加到“compile stuff”时,一切都完美加载,js文件工作正常。

不幸的是,为了允许更新这个网站,我需要将这个从另一台服务器下载为zip ... 我可以很容易地获取zip,解压缩并将所有内容放在一个包中但是当我在UIWebView中加载索引页面时,js文件无效!

如何设置任何内容以使此代码可执行或类似的东西?

以下是加载我创建的包的部分:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *test = [[NSBundle bundleWithPath:documentsDirectory] pathForResource:@"contentNewVersion.bundle/index" ofType:@"html"];

[_webView  loadRequest:[NSURLRequest  requestWithURL:[NSURL fileURLWithPath:test isDirectory:NO]]];

我的索引的位置是:/var/mobile/Applications/A2B602C3-DEC0-40FE-9469-288F666196A7/Documents/contentNewVersion.bundle/index.html`

2 个答案:

答案 0 :(得分:1)

//试试这个

 NSString *test = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"/contentNewVersion.bundle/index.html"];

NSLog(@"%@",test);

[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:test]]];

答案 1 :(得分:1)

//下面的代码块是从NSDocumentDirectory在UIWebview中加载js文件的过程

 NSString *JSFilePath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"myfile.js"];

NSString *str_JSFilePath = [NSString stringWithFormat:@"<script src='%@'></script>", JSFilePath];

    [webview loadHTMLString:str_JSFilePath baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] resourcePath]]];