0

首先,免责声明:我对 iphone、android 或任何移动开发完全陌生。另一方面,我已经开发网站(php、javascript)很长时间了。

我有一个适用于移动设备的网站,效果很好。但是,我需要一些功能,例如防止屏幕变暗(我的网站设计为可以在没有用户交互的情况下使用数小时,同时永久可见,或者例如能够发送通知(带有声音等,以吸引用户注意))。

这使我考虑使用 webview。从我所见,它是关于创建一个本机应用程序,它只是一个 webview(没有工具栏的浏览器)并使用 html 和 javascript 来操作。它将使用一些本机函数来执行一些本机操作(例如我想要的那些)。

我四处搜索,对此没有具体的回应:我可以告诉 webview 永久加载远程站点的内容吗?我的意思是,我的网站是基于 php(zend)的,有许多 jquery 内容操作。我可以告诉他像 LOAD htp://www.mysyite.com 这样的事情,让他做其他事情吗?绝对没有本地内容适用,一切都是远程的。webview 只是网站的“界面”。

还有一个问题是:我可以在上面使用 jquery 吗?ajax 调用?地理位置?我的意思是,在浏览器中我可以,我只是想知道我是否可以在 webview 中。

我读过phonegap 可以做到这一点。但大多数时候,当谈到 phonegap 和一般的 webview 时,我读到人们谈论本地加载页面而不是永久远程加载。

最后,是的,我将来会构建一个原生应用程序。但是现在,我根本没有时间同时学习android、ios和blackberry。非常感谢您的回复。

4

1 回答 1

1

仅适用于 Android:

Can i tell him something like LOAD htp://www.mysyite.com and let him do everything else from it ? absolutely no local content applies, everything is remote. The webview would just be an "interface" to the website.

是的,当然可以。假设您在活动中有一个 webview(这很容易),您将加载网页,如下所示:

WebView myWebView = .... // get a reference from XML or if you just created get its ref
myWebView.loadURL("http://www.mysite.com");

我将从这篇 API 指南文章开始。此外,取自 WebView JavaDoc

WebView 有几个自定义点,您可以在其中添加自己的行为。这些是:

  1. 创建和设置WebChromeClient子类。当发生可能影响浏览器 UI 的事情时调用此类,例如,在此处发送进度更新和 JavaScript 警报(请参阅调试任务)
  2. 创建和设置WebViewClient子类。当发生影响内容呈现的事情时(例如,错误或表单提交)将调用它。您还可以在此处拦截 URL 加载(通过 shouldOverrideUrlLoading())。
  3. 修改WebSettings,例如使用 setJavaScriptEnabled() 启用 JavaScript。使用 addJavascriptInterface(Object, String) 方法将 Java 对象注入 WebView。此方法允许您将 Java 对象注入页面的 JavaScript 上下文,以便页面中的 JavaScript 可以访问它们。

另请注意,webview 不如手机的浏览器强大。这是一个SO 线程,其中一位朋友发布了一个有趣的问题。你可能会发现他得到的答案很有帮助。

于 2013-06-11T17:39:29.977 回答