是有可能加载外部的index.html(与包括cordova.js)而不是本地一个的?
我在此appdelegate.m代码中发现:
self.viewController.wwwFolderName = @"www";
self.viewController.startPage = @"index.html";
我想引用一个外部链接,但没有运气。任何人都知道一个解决方案?
PS
与Android很容易:
super.loadUrl("http://192.168.1.135:3000/");
我这样做我的项目(AppDelegate.m):
self.viewController = [[[MainViewController alloc] init] autorelease];
self.viewController.useSplashScreen = YES; // YES;
self.viewController.wwwFolderName = @""; // @"www";
self.viewController.startPage = @""; // @"index.html";
self.viewController.invokeString = invokeString;
self.viewController.view.frame = viewBounds;
// Load request with new root URL
NSURL *urlOverwrite = [NSURL URLWithString:@"http://kyryll.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:urlOverwrite];
[self.viewController.webView loadRequest:request];
至于其他地方提到的,您试图访问的网站已列入白名单。
它的工作很好。 我的外部网站是在本地IIS并具有cordova.js以及几个插件。 现在,只需要看看我是否得到苹果批准我的应用程序!
如果包括PhoneGap的源作为子项目 (我用1.7和方向仍然工作,看到我的末注),你可以添加几行代码,让PhoneGap的支持外部URL作为startPage
。
大约133行,你要添加
if([self.startPage hasPrefix:@"http"]) {
appURL = [NSURL URLWithString:self.startPage];
}
else
权利之前if (startFilePath == nil) {
默认情况下,PhoneGap的似乎不支持外部起始页的网址没有一个javascript“技巧”如上所述。 除了这个(和),我知道没有别的办法!
让我知道如果您有更多问题。
注:正如我上面提到的演练中缺少的一个步骤。 我评论的文章,让笔者知道,但尚未批准。 下面是我的评论:
这是缺少我这样的步骤加入$(CORDOVALIB)/班在构建阶段的头文件搜索路径(也标志着它递归搜索)。 除此之外,伟大的写了!
对于iOS这将是:
self.viewController.wwwFolderName = @""; // @"www"
self.viewController.startPage = @"http://192.168.2.107:9000/";
名称是令人困惑,因为起始页也是URL。
我所做的是最简单的方法,包括下面的脚本块index.html文件,如果不需要删除其他代码:
<script type="text/javascript">
window.location.href="http://192.168.1.135:3000/";
</script>
而包括在主机ExternalHosts
映射PhoneGap.plist
文件,还要检查OpenAllWhitelistURLsInWebView
设置为YES
的plist文件
设置wwwFolderName空字符串并没有为我工作,但无工作。
self.viewController.wwwFolderName = nil;
self.viewController.startPage = @"http://192.168.2.107:9000/";
The simplest way I did is, xxxViewController: CDVViewController<...>
-(void) viewDidLoad{
self.wwwFolderName = @"dist";
self.startPage = @"test.html";
[super viewDidLoad];
}
so,that is all.