0

Worklight を使用して、リモート HTML ページ ( http://xxx.com )で phonegap API (Camera、File API など) を呼び出したいと考えています。(1) iFrame と (2) WebView への埋め込みを使用しようとしました。

(1) iFrame

<iframe src="http://xxx.com"></iframe>

しばらくグーグルで調べたところ、同じオリジンポリシーのために成功しないと言われています。代わりに、HTML の postMessage で実現できます。簡単なテストを行いましたが、動作します。

しかし、私のユースケースでは、リモート HTML ページでファイルのアップロードを実行したいと考えています。カメラ API を使用して写真をキャプチャした後、FILE_URI / DATA_URI を取得しました。File API を使用する以外に、リモート HTML ページにファイルをアップロードすることはできませんでした。したがって、私の目標は、リモート ページで phonegap API を直接呼び出すことであり、ここから次のステップに進みます。

(2) WebView に埋め込む

webview.loadUrl("http://xxx.com")Androidネイティブコードを追加しようとしました

public class TestActivity extends DroidGap {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        WebView webview = (WebView) findViewById(R.id.wv);
        webview.loadUrl("http://www.xxx.com");
    }
}

私のリモートHTMLページでは、追加しました

<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript">
    document.addEventListener("deviceready", onDeviceReady, false);
    function onDeviceReady() {
        alert("OK!");
    }
</script>

phonegap API を使用する準備ができているかどうかをテストします。

ただし、onDeviceReady は起動されません。

ここで何か問題がありますか?または、webview に埋め込まれたリモート HTML ページで phonegap API にアクセスすることは可能ですか?

4

1 に答える 1

0

webView.getSettings().setJavaScriptEnabled(true);

于 2013-06-03T05:29:21.187 に答える