2012-02-11 74 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