Phonegap:访问远程HTML页面中的Phonegap API

时间:2013-06-03 01:09:19

标签: android iframe webview cordova ibm-mobilefirst

我想使用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

我尝试在Android原生代码中添加webview.loadUrl("http://xxx.com")

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?

1 个答案:

答案 0 :(得分:0)

webView.getSettings()setJavaScriptEnabled(真);