如何在 PhoneGap 1.x 中更改起始页

Posted

技术标签:

【中文标题】如何在 PhoneGap 1.x 中更改起始页【英文标题】:How to change start page in PhoneGap 1.x 【发布时间】:2012-01-31 20:06:37 【问题描述】:

我正在尝试通过下载更新包并覆盖 PhoneGap 项目的 www 文件来更新 PhoneGap 项目的 Web 文件。问题是 www 文件似乎存储在捆绑包中,而不是文档目录中。我可以在启动时将这些文件复制到文档目录,但我仍然不知道如何告诉 PhoneGap 使用文档目录中的 index.html 文件而不是原始 www 目录。

【问题讨论】:

【参考方案1】:

我能够通过覆盖+(NSString*)wwwFolderName+ (NSString*) pathForResource:(NSString*)resourcepath 来解决这个问题,我相信通过覆盖+ (NSString*) pathForResource:(NSString*)resourcepath 我可能会在PhoneGap 的其他部分遇到一些问题。

+(NSString*)wwwFolderName 
    return [NSString stringWithFormat:@"%@/www",[super applicationDocumentsDirectory]];

+ (NSString*) pathForResource:(NSString*)resourcepath

    NSBundle * mainBundle = [NSBundle mainBundle];
    NSMutableArray *directoryParts = [NSMutableArray arrayWithArray:[resourcepath componentsSeparatedByString:@"/"]];
    NSString       *filename       = [directoryParts lastObject];
    [directoryParts removeLastObject];

    NSString* directoryPartsJoined =[directoryParts componentsJoinedByString:@"/"];
    NSString* directoryStr = [self wwwFolderName];

    if ([directoryPartsJoined length] > 0) 
        directoryStr = [NSString stringWithFormat:@"%@/%@", [self wwwFolderName], [directoryParts componentsJoinedByString:@"/"]];
    
    if (![[self wwwFolderName] isEqualToString:@"www"]) 
        return [NSString stringWithFormat:@"%@/%@",[self wwwFolderName],[self startPage]];
    

    return [mainBundle pathForResource:filename
                                ofType:@""
                           inDirectory:directoryStr];

【讨论】:

以上是关于如何在 PhoneGap 1.x 中更改起始页的主要内容,如果未能解决你的问题,请参考以下文章

PhoneGap 应用程序:“错误:找不到位于 `www/index.html` 的起始页”

如何在无限行模型中设置初始起始页?

PhoneGap如何使用一页应用刷新/重新加载页面

如何在inappbrowser中更改phonegap 3.4中的状态栏颜色?

如何将 Swagger 设置为默认起始页?

如何全局设置 Visual Studio 项目的起始 URL?