Phonegap - 从外部网站访问api

时间:2013-04-17 15:28:53

标签: android cordova webview phonegap-build

我在配置文件中设置:

<access origin="*" subdomains="true" />
<access origin=".*" subdomains="true" />
<content src="http://mydomain.pl/aps_mobile/" />

但在http://mydomain.pl/aps_mobile/上不执行事件“deviceready”并且navigator.camera未定义。 我做错了什么?

2 个答案:

答案 0 :(得分:3)

如果从外部主机执行cordova脚本,则无法访问硬件资源,因为该脚本未映射到Phonegap应用程序的libs / cordova.x.x.x.jar。 但你可以这样解决:

res / xml / config.xml中的

<access origin="*" />
<content src="index.html" />

in assets / www / index.html

<body>
    <script type="text/javascript" src="cordova-x.x.x.js"></script>
    <iframe name="framewrap" id="framewrap"
        style="border:0;position: absolute; top: 0; left: 0;width: 100%;"
        src="http://yourwebsite.pl">
    </iframe>
    <script type="text/javascript"> 
        document.getElementById("framewrap").contentWindow.navigator = navigator;
    </script>
 </body>

最后,在相机配置中,如果你想要DATA_URL,你必须将destinationType设置为0;如果你想要FILE_URI,你必须设置1;如果你想要NATIVE_URI,你必须设置2。

我希望能帮到你

答案 1 :(得分:1)

索引文件不应该在服务器上。您需要在应用程序的assets文件夹中拥有index.html,并通过jquery ajax调用建立与服务器的连接。 另外,请确保您已在index.html中导入了cordova和phonegap javascript文件