phonegap/cordova 2.0.0 を使用して Android アプリを開発しています。
現在、サーバーでホストされている Web サイトがあり、Android アプリはラッパー webView として使用されています。
これが私のJavaファイルのコードです。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
webview = new WebView(this);
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setPluginsEnabled(true);
webview.addJavascriptInterface(new JavaScriptInterface(), "jsinterface");
setContentView(webview);
// This is where I load the URL of my website
webview.loadUrl("http://192.168.0.109:3000/");
}
アプリを Android フォンにデプロイすると、完全に正常に動作し、電話で自分の Web サイトを表示できます。
私が今直面している問題は、phonegap プラグイン、特に ChildBrowser を使用することです (他のプラグインでも同じ結果が得られます)。私のjavascriptコンソールでスローされているこの例外があります:
window.plugins.childBrowser.showWebPage("http://www.example.com")
TypeError: Object #<an Object> has no method 'exec'
プラグインChildBrowser Pluginの使用方法に関する指示に従いました
サーバーでホストされている Web サイトに JavaScript ファイルを含めました
<script src="/assets/cordova-2.0.0.js" type="text/javascript"></script>
<script src="/assets/childbrowser.js" type="text/javascript"></script>
私はそれを理解しようと何日も費やし、私が試すことができるすべてをグーグルで検索しました. しかし、どの解決策もうまくいかなかったので、私には運がありません。deviceready オプションを試しましたが、うまくいきませんでした:
document.addEventListener("deviceready", yourCallbackFunction, false);
誰かがそのための解決策を持っていますか、それとも外部のウェブサイトから phonegap プラグインを呼び出すことさえ可能ですか?
PS:私は ChildBrowser の実例を持っていますが、私のアンドロイドアプリはから読んでいます
super.loadUrl("file:///android_asset/www/index.html");