Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8861089
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 14, 20262026-06-14T15:24:48+00:00 2026-06-14T15:24:48+00:00

I am simply trying to set up a function in my PhoneGap app that

  • 0

I am simply trying to set up a function in my PhoneGap app that opens certain links in an external browser. The code appears to work fine on Android (and I didn’t test on Windows Phone, as the plugin info claims that support isn’t there, yet…), but every time I try to get this to run in the iPhone Simulator (iOS 5.1), it blows up with the following error:

testCB[3332:c07] CDVPlugin class childbrowser.js (pluginName: ChildBrowser) does not exist.
testCB[3332:c07] ERROR: Plugin 'ChildBrowser' not found, or is not a CDVPlugin. Check your plugin mapping in Cordova.plist.
testCB[3332:c07] -[CDVCommandQueue executePending] [Line 102] FAILED pluginJSON = ["ChildBrowser1249404349","ChildBrowser","showWebPage",["http://www.apple.com",{"showLocationBar":true}]]

I’ve looked all over the forums and here, and I keep seeing people refer to updating the Cordova.plist file. Fine, so here that is (and note, this is for a brand new Cordova app, not an upgrade or update, I am trying this with a test app, now, to rule out wonkiness in my own app):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <!-- the standard keys snipped -->
    <key>ExternalHosts</key>
    <array>
        <string>*</string>
    </array>
    <key>Plugins</key>
    <dict>
        <key>ChildBrowser</key>
        <string>childbrowser.js</string>
        <key>ChildBrowserCommand</key>
        <string>ChildBrowserCommand</string>
        <key>Device</key>
        <string>CDVDevice</string>
        <key>Logger</key>
        <string>CDVLogger</string>
        <key>Compass</key>
        <string>CDVLocation</string>
        <key>Accelerometer</key>
        <string>CDVAccelerometer</string>
        <key>Camera</key>
        <string>CDVCamera</string>
        <key>NetworkStatus</key>
        <string>CDVConnection</string>
        <key>Contacts</key>
        <string>CDVContacts</string>
        <key>Debug Console</key>
        <string>CDVDebugConsole</string>
        <key>Echo</key>
        <string>CDVEcho</string>
        <key>File</key>
        <string>CDVFile</string>
        <key>FileTransfer</key>
        <string>CDVFileTransfer</string>
        <key>Geolocation</key>
        <string>CDVLocation</string>
        <key>Notification</key>
        <string>CDVNotification</string>
        <key>Media</key>
        <string>CDVSound</string>
        <key>Capture</key>
        <string>CDVCapture</string>
        <key>SplashScreen</key>
        <string>CDVSplashScreen</string>
        <key>Battery</key>
        <string>CDVBattery</string>
        <key>Globalization</key>
        <string>CDVGlobalization</string>
    </dict>
</dict>
</plist>

(EDIT) In my index.html file, I have included (I realize that this almost goes without saying. I also realize a lot of questions get posted by people who don’t think about trying all the obvious stuff first!):

    <script type="text/javascript" src="cordova-2.2.0.js"></script>
    <script type="text/javascript" src="childbrowser.js"></script>

My js call looks like:

onDeviceReady: function() {
    app.receivedEvent('deviceready');

    var link = document.getElementById('launchApple');
    console.log('derp?');

    if(link){
        //var cb = ChildBrowser.install();
        console.log("We're trying to add a click handler link");
        link.addEventListener('click', function() {
                              console.log('click');
                              window.plugins.childBrowser.openExternal('http://www.apple.com'); });
    }

},

When I click the link, I get the above error.

I’ve tried changing the case of the childbrowser.js file to ChildBrowser.js.
I’ve tried running it in the iPhone 6 emulator.
My Plugins folder contains all the files from the package downloaded from https://github.com/alunny/ChildBrowser

I’ve cleared caches from my ~/Library/Application Support
I’ve tried Clean on the project.

Any thoughts? I’m about to start looking for a good goat or chicken for a quick sacrifice to the “write once, run everywhere” gods (whom I’m fairly certain are descendants of Loki, the Trickster)!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-14T15:24:49+00:00Added an answer on June 14, 2026 at 3:24 pm

    Ok, a couple things. One, a personal “DERP!” but the rest I chalk up to just crummy documentation and weird implementation.

    On the front page ( https://github.com/alunny/ChildBrowser ), there is a note by the documentation for .openExternal() that says this is Android-only. This was my “derp!”

    (I have yet to find out why there is, however, a hook for onOpenExternal that is stated to be iOS-only…)

    Secondly, toss out all the docs that tell you to add childbrowser.js as the string for the ChildBrowser Plugins item. Your plugins should look like:

    <key>ChildBrowser</key>
    <string>ChildBrowserCommand</string>
    <key>ChildBrowserCommand</key>
    <string>ChildBrowserCommand</string>
    

    Takeaways from this issue:

    • target=”_blank” works on <a> tags on the iPhone.
    • Make sure you put the ChildBrowser (string) ChildBrowserCommand item in your Plugins list, NOT childbrowser.js!
    • .openExternal() does NOT work (at this time) for iPhone, but .showWebPage() does (or, alternatively, if you want openExternal() functionality on the iPhone, I suppose you could set target=”_blank” on the anchor tag, and only preventDefault() for platforms that don’t support it, like Android).
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm trying to simply prove here that this simple function isn't good enough to
I am simply trying to create an function to return a set of user.
I'm trying to simply perform the following via Cake's save() function. UPDATE user SET
I am trying to create a simply function in php that will take some
What I am trying to do: I have a simple set union function in
I'm trying to set up my first Backbone Model that implements RESTful WCF services.
I am simply trying to set a room variable (adding the user's name to
I am trying to implement a sorting function into this code which creates a
I'm trying to create a simply login page. I want validation on that page
I'm simply trying to get an alert that is the result of checking a

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.