首页 文章

Webview加载远程URL

提问于
浏览
0

首先,免责声明:我对iphone,android或任何移动开发都是全新的 . 另一方面,我一直在开发网站(php,javascript)很长一段时间 .

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

这让我想到了一个webview . 从我所看到的,它是关于创建一个本机应用程序,它只是一个webview(浏览器没有工具栏),并使用HTML和JavaScript操作 . 它将使用一些本机函数来执行一些本机操作(例如我想要的) .

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

另外一个问题是:我可以使用jquery吗? ajax打电话?地理位置?我的意思是,在浏览器中我可以,我只是想知道我是否可以在webview中 .

我已经读过,phonegap会这样做 . 但大部分时间,当我采取关于手机屏幕和关于webview的一般情况时,我会读到人们谈论本地加载页面而不是永久性地远程加载 .

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

1 回答

  • 0

    仅适用于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");
    

    我会从this API Guide文章开始 . 另外,taken from WebView JavaDoc

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

    • 创建和设置WebChromeClient子类 . 当可能影响浏览器UI的事件发生时调用此类,例如,在此处发送进度更新和JavaScript警报(请参阅调试任务)

    • 创建和设置WebViewClient子类 . 当事情发生影响内容的呈现时,例如,错误或表单提交,将调用它 . 您也可以在此拦截URL加载(通过shouldOverrideUrlLoading()) .

    • 修改WebSettings,例如使用setJavaScriptEnabled()启用JavaScript . 使用addJavascriptInterface(Object,String)方法将Java对象注入WebView . 此方法允许您将Java对象注入页面的JavaScript上下文,以便可以通过页面中的JavaScript访问它们 .

    请注意,webview并不像手机的浏览器那么强大 . 这是SO thread,朋友发布了一个有趣的问题 . 你可能会发现他得到的答案很有帮助 .

相关问题