Плагин childBrowser.jar для сообщения о разрыве телефонной связи в: settings.setPluginState(true);
Я пытаюсь использовать плагин childBrowser для phonegap, и он не может сгенерировать.apk,
В Eclipse я вижу ошибку (устаревшая функция) в:
settings.setPluginState(true);
Проблема здесь в том, что обе версии имеют эту строку, в любом случае я прокомментировал эту строку (не так много надежд), но она все еще терпит неудачу
Под неудачей я имею в виду, что это:
window.plugins.childBrowser.showWebPage('http://google.com/')
Не открывает ни одной страницы или выбрасывает какие-либо ошибки...
Есть идеи, что мне не хватает?
PD: я включил.jar,.js (и ссылался на него), строки в androidmanifest.plist и в config.xml
-РЕДАКТИРОВАТЬ-
Phonegap: 2.1.0
childBrowser: 2.0
-РЕДАКТИРОВАТЬ-
Если ожидание до готовности устройства, я получаю эту ошибку в симуляторе консоли:
E/Web Console(30411): Uncaught TypeError: Cannot read property 'childBrowser' of undefined at file:///android_asset/www/js/scripts.js?v=33s:883
3 ответа
Если у вас нет особых требований придерживаться PhoneGap 2.1, используйте интерфейс командной строки и версию 3+. Плагин для дочернего браузера теперь поставляется с Cordova по умолчанию.
Это так же просто, как:
$ cordova create hello com.example.hello HelloWorld
$ cordova platform add android
$ cordova plugin add org.apache.cordova.inappbrowser
Затем добавьте свои HTML-коды в www
каталог и создайте ваше приложение, используя:
$ cordova build android
Чтобы открыть URL в дочернем браузере, вызовите следующее в JavaScript:
window.open("http://google.com/", "_blank");
Упомянутая ошибка говорит о том, что у вас нет действительного файла.js, который необходим для работы плагина.
Рекомендуемый способ добавить / удалить любой плагин с помощью CLI.
Убедитесь, что вы включили файл.js в свой HTML-файл ниже файла cordova.js.
Также обновление до последней версии Cordova.
Вы не можете комментировать эту строку:
settings.setPluginState(true);
Важная информация: но если вы используете Simulator
, К несчастью, plugins
в настоящее время не поддерживаются в Simulator
- Вы можете работать с ними только на реальном устройстве.
В противном случае вы получите сообщение об ошибке:
E/Web Console(30411): Uncaught TypeError: Cannot read property 'childBrowser' of undefined at file:///android_asset/www/js/scripts.js?v=33s:883
Конечно, если вы не инициализируете плагины, у вас будут:
window.plugins = undefined
Потому что собственность plugins
окна не существует изначально, вы должны создать / инициализировать его.
Вы можете открыть дочернее окно в JavaScript следующим образом:
window.showModalDialog("http://www.google.com");