Я полный новичок в PhoneGap, так что будь осторожен со мной, если сможешь :) 1001 *
У меня установлен phonegap 1.5 и он работает нормально. Я изо всех сил пытался установить плагин childbrowser, но я считаю, что он установлен правильно. Тем не менее, я не могу заставить ребенка показать это? Я пробовал следовать различным учебникам здесь (http://bit.ly/ifK9lM) и здесь (http://bit.ly/wOlq6k).). Я не получаю никаких ошибок сборки или консольных ошибок, но дочерний браузер просто не отображается, когда я нажимаю на ссылку .
Все, что я получаю в консоли, когда я нажимаю на кнопку, это "Открытие URL: http://www.google.com". Так что, как будто он пытается ... но у меня просто нет визуального вывода ??
У меня есть файл ChildBrowser.js в корне моей папки www вместе с файлом cordova.js. У меня есть все файлы плагинов для дочернего браузера, добавленные в папку плагинов в xcode.
Я использую Xcode 3.2.6
Если кто-нибудь может подсказать, что я делаю неправильно, это будет высоко ценится.
Я не могу опубликовать весь связанный код здесь, потому что он просто вышел из-под контроля. Рады опубликовать запрошенный код.
Вот мой текущий файл appdelegate.h:
#import "AppDelegate.h"
#import "MainViewController.h"
#ifdef CORDOVA_FRAMEWORK
#import <Cordova/CDVPlugin.h>
#import <Cordova/CDVURLProtocol.h>
#else
#import "CDVPlugin.h"
#import "CDVURLProtocol.h"
#endif
#import "ChildBrowserCommand.h"
#import "ChildBrowserViewController.h"
@implementation AppDelegate
@synthesize invokeString, window, viewController;
//Code excluded for brevity here.....
#pragma UIWebDelegate implementation
- (void) webViewDidFinishLoad:(UIWebView*) theWebView
{
// only valid if FooBar.plist specifies a protocol to handle
if (self.invokeString)
{
NSString* jsString = [NSString stringWithFormat:@"var invokeString = \"%@\";", self.invokeString];
[theWebView stringByEvaluatingJavaScriptFromString:jsString];
}
// Black base color for background matches the native apps
theWebView.backgroundColor = [UIColor blackColor];
return [self.viewController webViewDidFinishLoad:theWebView];
}
- (void) webViewDidStartLoad:(UIWebView*)theWebView
{
return [self.viewController webViewDidStartLoad:theWebView];
}
- (void) webView:(UIWebView*)theWebView didFailLoadWithError:(NSError*)error
{
return [self.viewController webView:theWebView didFailLoadWithError:error];
}
- (BOOL) webView:(UIWebView*)theWebView shouldStartLoadWithRequest: (NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
{
return [self.viewController webView:theWebView shouldStartLoadWithRequest:request navigationType:navigationType];
}
- (void) dealloc
{
[super dealloc];
}
@end
Вот мой index.html:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta name="viewport" content="width=device-width, initial-scale=1.0,
maximum-scale=1.0, user-scalable=no;" />
<meta charset="utf-8">
<script type="text/javascript" charset="utf-8" src="cordova-1.5.0.js"></script>
<script type="text/javascript" charset="utf-8" src="ChildBrowser.js"></script>
<script type="text/javascript">
var childBrowser;
function onBodyLoad()
{
document.addEventListener("deviceready", onDeviceReady, false);
}
function onDeviceReady()
{
childBrowser = ChildBrowser.install();
}
function openChildBrowser(url)
{
try {
childBrowser.showWebPage(url);
}
catch (err)
{
alert(err);
}
}
</script>
</head>
<body onload="onBodyLoad()">
<h1>Hey, it's Cordova!</h1>
<button onclick="openChildBrowser('http://www.google.com');">Open Google</button>
</body>
</html>