2012-02-11 75 views
0

我有一个基于Web的Android应用程序,它使用Webview,它连接到远程HTTP服务器并使Web页面呈现HTML页面。每个HTML页面都有一些控件,每个控件操作都会触发一个HTTP POST ajax请求到服务器。当页面加载时,它首先发出HTTP POST ajax请求来更新控制状态。每一个来自服务器的新页面在每5分钟内被重新加载/刷新(使用JS'setInterval')。Android Webview显式页面卸载或停止上一页Java脚本活动

问题是,在Webview中当页面转换到新页面时,前一页Java Script活动仍然继续,因此前一页AJAX请求增加了网络带宽。

是否有解决方案来停止webview中上一页的Javascript活动,以便只有当前/活动页面脚本有效。

最好解决方案应该仍然启用缓存,我想避免在不到5分钟内从服务器引入相同的页面。

回答

0

可能最简单的方法是在JavaScript中制作Stop()方法,然后在应用程序中调用该方法。有几种方法可以做到这一点,包括通过webview对象创建一些复杂的句柄,但您也可以通过webview.LoadUrl()方法调用它。

+0

我想停止页面的页面刷新,因此它们相应的AJAX请求(在后台发生)由页面的JS $(document).ready(function (){ \t变种refreshId =的setInterval(函数() \t { \t \t doStatus(); //问题的各种AJAX请求 \t},5000); }); 其实我没有明确地加载新的页面当前,来自服务器的每个页面都通过html链接导入/导出到其他页面。 我只是使用webview.loadUrl加载第一页。 – Ash 2012-02-12 07:52:10

+0

这是否意味着在加载下一页之前挂钩页面转换并在当前页面上调用“停止”方法? – Ash 2012-02-12 07:52:54