我非常困惑于此。我正在使用phoneagap childbrowser插件。窗口弹出,但只显示空白窗口。我使用的phonegap版本是Phonegap 1.2.0和ios sdk 5.
它没有给出任何错误,但我可以在日志中看到的是:
查看确实已加载
打开网址:about:blank
新地址是:about:blank
我已经为此做了以下事情:
将ChildBrowser.js添加到“www”文件夹。
在“插件”文件夹中添加了ChildBrowserCommand.h,ChildBrowserCommand.m,ChildBrowserViewController.h,ChildBrowserViewController.m文件。
在“资源”文件夹中添加了ChildBrowser.bundle和ChildBrowserViewController.xib
在phonegap.plist文件中添加了以下插件:
键:ChildBrowserCommand值:ChildBrowserCommand
Key:ChildBrowser Value:ChildBrowser.js。
我替换了appdelegate.m文件中的follwing,因为我的childbrowser窗口没有打开:
- (BOOL)webView:(UIWebView *)theWebView
shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:
(UIWebViewNavigationType)navigationType
{
NSURL *url = [request URL];
if ([[url scheme] isEqualToString:@"http"] || [[url scheme] isEqualToString:@"https"])
{
//This code will open any url that is not in the PhoneGap whitelist in Child Browser
return [ super webView:theWebView shouldStartLoadWithRequest:request
navigationType:navigationType ];
}
使用
- (BOOL)webView:(UIWebView *)theWebView
shouldStartLoadWithRequest:(NSURLRequest *)request
navigationType:(UIWebViewNavigationType)navigationType
{
NSURL *url = [request URL];
if ([[url scheme] isEqualToString:@"http"] || [[url scheme]
isEqualToString:@"https"])
{
return [ super webView:theWebView shouldStartLoadWithRequest:request
navigationType:navigationType ];
}
if ([[url scheme] isEqualToString:@"gap"] || [url isFileURL]) {
return [ super webView:theWebView shouldStartLoadWithRequest:request
navigationType:navigationType ];
}
else {
ChildBrowserViewController* childBrowser =
[ [ ChildBrowserViewController alloc ] initWithScale:FALSE ];
[super.viewController presentModalViewController:childBrowser
animated:YES ];
[childBrowser loadURL:[url description]];
[childBrowser release];
return NO;
}
}
在此之后,儿童浏览器弹出,但屏幕空白。
我们将不胜感激。
由于
Prabhjot