ChildBrowser Phonegap无法正常工作
问题描述:
在我的应用程序中搜索合适的方式打开浏览器后,我遇到了ChildBrowser,它看起来像提供了我之后的所有内容。下面几个教程后,我似乎无法让插件工作。我为外部主机编辑了PhoneGap.plist文件,其值为“*”,我在插件中添加了ChildBrowserCommand,但是当我运行应用程序时,没有任何反应,当我单击链接时。我在文档的头部有以下代码;ChildBrowser Phonegap无法正常工作
<script type="text/javascript">
var childBrowser;
function onBodyLoad()
{
document.addEventListener("deviceready", onDeviceReady, false);
}
//Phonegap ready to go
function onDeviceReady()
{
alert("PhoneGap is ready");
childBrowser = ChildBrowser.install();
}
function openChildBrowser(url)
{
try {
window.plugins.childBrowser.ShowWebPage(url);
//childBrowser.showWebPage(url);
}
cathc(err)
{
alert(err);
}
}
</script>
我有ChildBrowser包括直后,我的phoneGap.js文件,但似乎无法得到它的运行,我没有得到任何记录在控制台的错误。有谁知道什么是错的,或者至少让我指向正确的方向?
答
花了几个小时/天在这个话题上追逐了许多令人困惑的页面之后,我终于在blog page中找到了一套简明的说明。请务必抓取最新的代码,如github page所示。我成功地让ChildBrowser插件与在OSX 10.7.3中运行的Xcode 4.3中的PhoneGap 1.5.0一起工作 - 并在iOS 4和5中进行了测试。我发现的限制是它只能在纵向模式下工作。我现在正在追求一个包含景观模式的决议。
答
下面的这段代码适用于我。
<!DOCTYPE html>
<html>
<head>
<title>My External Page</title>
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1.0"/>
<meta name="format-detection" content="telephone=no"/>
<!--iPhone on Safari Standalone mode-->
<meta name="apple-mobile-web-app-capable" content="yes" />
<!--Hide iPhone on Safari Native Top Status Bar-->
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
<link rel="shortcut icon" href="favicon.ico" />
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<script type="text/javascript" src="cordova-2.1.0.js"></script>
<script type="text/javascript" src="childbrowser.js"></script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
<script type="text/javascript">
document.addEventListener("deviceready", loaded, false);
function loaded()
{
if (console)
{
console.log("cordova loaded");
}
}
function showExternalPage()
{
if (console)
{
console.log("in show pmt page");
}
Cordova.exec("ChildBrowserCommand.showWebPage", "http://www.google.com/");
}
</script>
</head>
<body>
<div data-role="page" id="myExternalLauncherPage" data-theme="a">
<div data-role="content">
<ul data-role="listview" data-inset="true">
<li>
<button type="submit" data-theme="b" id="launcherButton" onclick="showExternalPage()">Launch Google</button>
</li>
</ul>
</div>
</div>
</body>
我有一个使用FACEBOOK与childbrowser一个测试项目,您可以检查它以供参考https://github.com/dhavaln/phonegap-facebook – dhaval 2012-03-20 13:39:41
确保''在'/ res/xml/plugins.xml中定义' – dhaval 2012-03-20 13:40:53
感谢评论@dhaval。我没有一个plugins.xml文件,这导致我相信这可能是问题。但是,我没有'/ res/xml ...'文件夹。当我创建文件时,是否将其放入我的www文件夹的根目录中? – JPK 2012-03-20 17:04:05