Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在iOS上的PhoneGap或Cleaver(Cordova)中加载远程html_Ios_Cordova_Uiwebview - Fatal编程技术网

在iOS上的PhoneGap或Cleaver(Cordova)中加载远程html

在iOS上的PhoneGap或Cleaver(Cordova)中加载远程html,ios,cordova,uiwebview,Ios,Cordova,Uiwebview,我在本机iOS 6应用程序中使用Cordova 2.4组件切割器和嵌入式视图。到目前为止,我已经成功地创建了项目结构,链接了Cordova库,并设置了Hello World应用程序,该应用程序可以提供“设备就绪”反馈 这很好,但它从应用程序内部分布的www存储库(包括所有js库)加载所有html 我真正想让你做的是: 1-在我的应用程序中弹出cleaver组件(它只是一个嵌入式uiwebview)。容易做 2-从指向远程服务器上servlet的URL加载一些html内容。我有几个servlet,

我在本机iOS 6应用程序中使用Cordova 2.4组件切割器和嵌入式视图。到目前为止,我已经成功地创建了项目结构,链接了Cordova库,并设置了Hello World应用程序,该应用程序可以提供“设备就绪”反馈

这很好,但它从应用程序内部分布的www存储库(包括所有js库)加载所有html

我真正想让你做的是:

1-在我的应用程序中弹出cleaver组件(它只是一个嵌入式uiwebview)。容易做

2-从指向远程服务器上servlet的URL加载一些html内容。我有几个servlet,当然需要能够分别加载它们中的每一个

3-让步骤2中生成的内容通过cordova javascript libs cordova-2.4.0.js与我的本机应用程序交互(如果它们是设备本地的,但html是从远程位置加载的,我如何加载它们)

我如何设置这个

附言


我更喜欢Obj-C而不是Javascript开发者:)

在index.html文件中执行类似操作(针对第2点)


函数onBodyLoad(){
文件。添加的监听器(“deviceready”,OnDeviceraddy,false);
}
函数ondevicerady(){
window.location.href=
}
}


对于第3点,您的远程内容应该导入cordova.js,并且交互(本机/web)将像本地内容一样工作。

答案如下。真高兴

正是我所需要的。项目的第二部分是使本机代码能够强制加载外部web服务——我通过在Cleaver web视图上调用stringByEvaluatingJavaScriptFromString来实现这一点

[webview stringByEvaluatingJavaScriptFromString:@“app.loadExternal('www.usatody.com')”;
是一种像符咒一样工作的代码:)


Viola-我有一个Cleaver视图,能够通过javascript应用程序和本机容器之间的完整双向通信加载外部html内容。

谢谢elio.d,但不完全是我想要的。我有大量的servlet服务,需要动态调用并将其内容加载到视图中-所以像下面这样的硬编码我不工作。我也不想在服务器端托管cordova.js。我确实找到了答案和解决方案。这一切都是通过Ajax动态加载内容,托管页面和cordova.js保持本地,但内容div根据需要从服务器加载……工作得很好。出于某些原因,它会在新窗口中打开,而不是在原始窗口中打开有什么想法吗?
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
<meta charset="utf-8">
<script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
<script type="text/javascript">
     function onBodyLoad(){     
        document.addEventListener("deviceready", onDeviceReady, false);
     }
     function onDeviceReady(){
         window.location.href = <your_remote_url>
     }
}
</script>