2012-03-20 78 views
3

在我的应用程序中搜索合适的方式打开浏览器后,我遇到了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文件,但似乎无法得到它的运行,我没有得到任何记录在控制台的错误。有谁知道什么是错的,或者至少让我指向正确的方向?

+0

我有一个使用FACEBOOK与childbrowser一个测试项目,您可以检查它以供参考https://github.com/dhavaln/phonegap-facebook – dhaval 2012-03-20 13:39:41

+0

确保'<插件名称=” ChildBrowser“value =”com.phonegap.plugins.childBrowser.ChildBrowser“/>'在'/ res/xml/plugins.xml中定义' – dhaval 2012-03-20 13:40:53

+0

感谢评论@dhaval。我没有一个plugins.xml文件,这导致我相信这可能是问题。但是,我没有'/ res/xml ...'文件夹。当我创建文件时,是否将其放入我的www文件夹的根目录中? – JPK 2012-03-20 17:04:05

回答

0

花了几个小时/天在这个话题上追逐了许多令人困惑的页面之后,我终于在blog page中找到了一套简明的说明。请务必抓取最新的代码,如github page所示。我成功地让ChildBrowser插件与在OSX 10.7.3中运行的Xcode 4.3中的PhoneGap 1.5.0一起工作 - 并在iOS 4和5中进行了测试。我发现的限制是它只能在纵向模式下工作。我现在正在追求一个包含景观模式的决议。

1

我的合作伙伴编写了一个分步教程,用于将ChildBrowser插件添加到PhoneGap Android项目here

+0

感谢您的链接,但我试图让它在iphone/ipad上工作 – JPK 2012-03-21 12:51:54

+0

好的,我为你的问题添加了一个ios标签。祝你好运! – 2012-03-21 15:20:12

+0

感谢您的意见 – JPK 2012-03-21 15:31:10

3

下面的这段代码适用于我。

<!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>