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

Moo*_*ker 9 uiwebview ios cordova

我在我的原生iOS 6应用程序中使用Cordova 2.4组件Cleaver和嵌入式视图.到目前为止,我已经设法创建项目结构,链接Cordova库并设置Hello World应用程序,它可以提供"设备就绪"反馈.

这一切都很棒,但是它从app本身(包括所有js库)中分发的www存储库加载所有html.

我真正想要的是你做的:

1 - 在我的应用程序中弹出切割器组件(除了嵌入式uiwebview之外的其他内容).轻松完成.

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

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

我怎么设置它?

PS

我比Obj-C更像是Javascript开发人员:)

Moo*_*ker 10

这是答案.多么快乐......

关于PhoneGap和Cordova中动态页面加载的优秀文章

正是我需要的.该项目的第二部分是启用本机代码来强制加载外部Web服务 - 我在Cleaver Web视图上通过调用stringByEvaluatingJavaScriptFromString来完成此操作.

[webview stringByEvaluatingJavaScriptFromString:@"app.loadExternal('www.usatoday.com')]; 是一个像魅力:)的代码:)

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


eli*_*o.d 8

在你的index.html文件里面做这样的事情(对于第2点)

<!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>
Run Code Online (Sandbox Code Playgroud)

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

  • 由于某些原因,它在新窗口中打开而不是在原始应用程序窗口中打开任何想法? (2认同)