2011-08-31 59 views
3

我想加载一个外部网站,而不是在PhoneGap的www文件夹中找到的内部index.html文件..但一直没有成功。我已经尝试了几个我在网上找到的东西,但他们都只是在封装器中加载外部链接而不是Safari。PhoneGap加载外部页面,而不是index.html

这不是我正在寻找的...我正在寻找phonegap应用程序加载时,它加载了托管在我的web服务器上的页面而不是index.html文件。

回答

0

在iOS中,你需要修改你的AppDelegate.m文件shouldStartLoadWithRequest方法:

- (BOOL)webView:(UIWebView *)theWebView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 
{ 
    NSURL *url = [request URL]; 
    if ([ [url scheme] isEqualToString:@"http"] || [ [url scheme] 
                isEqualToString:@"https"]) 
    { 
     return YES; 

    } else { 

     return [ super webView:theWebView shouldStartLoadWithRequest:request 
       navigationType:navigationType]; 
    } 
} 

然后,你可以有变化,你当地的index.html在WWW文件夹:

<html> 
<body onload="document.location.href='http://yourComputerIpOrServer/index.html';"> 
<h1>Loading....</h1> 
</body> 
</html> 

当然,这仅用于调试。你不应该把它提交给AppStore,它是被禁止的,它将被拒绝。

+0

你可以在PhoneGap中做到这一点.plist通过将OpenAllWhitelistURLsInWebView切换为YES并将您的域添加为外部主机。 – jocull

0

相当确定这是设计。大多数应用程序商店都需要批准应用程序。如果您动态加载应用程序,则无法控制它。

Example discussion of this on the mailing list

+0

有一定的办法..我见过很多应用程序做这样的事情。 – dswatik

+0

我希望有 - 我对答案也很感兴趣。 – Cymen

2

您可以在web视图加载外部URL。确保设置

super.setBooleanProperty("loadInWebView", true); 

在你的onCreate()主类(它扩展DroidGap)的方法,然后你可以加载外部URL。

+0

我不是在寻找一个我有...的机器人解决方案,但做同样的事情的iPhone版本...谢谢 – dswatik

相关问题