簡體   English   中英

Webview沒有加載兩個頁面

[英]Webview is not loading two page

在我的應用程序中,我的一個活動是基於網頁的..我想加載一個從學生門戶顯示ExamSeatingPlan的網頁。我正在使用JavaScript登錄該網站,然后想要加載顯示我的頁面在同一webview上的ExamSeatingPlan 我面臨的問題是,當我使用javascript登錄時,登錄成功,但是沒有加載顯示ExamSeatingPlan的網頁。 如果我最小化應用程序,則它將加載所需的頁面,然后在幾秒鍾后將其最大化。 我認為我沒有正確實現onPageFinished,如果有人幫助我解決問題將非常有幫助。

謝謝

MainActivity.java

package com.example.ebad.badwae;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends AppCompatActivity {

    final String url = "http://111.68.99.8/StudentProfile/";
    final String urltesting = "http://111.68.99.8/StudentProfile/ExamSeatingPlan.aspx";
    WebView view;
    boolean loaded;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        view = (WebView) findViewById(R.id.webview);
        WebSettings webSettings = view.getSettings();

        webSettings.setJavaScriptEnabled(true);
        view.loadUrl(url);


        view.setWebViewClient(new WebViewClient() {

            @Override
            public void onPageFinished(WebView views, String urls) {
                view.loadUrl("javascript: {" + "document.getElementById('ctl00_Body_ENROLLMENTTextBox_tb').value = '" + "01-134121-061" + "';" +
                        "document.getElementById('ctl00_Body_PasswordTextBox_tb').value = '" + "123456789" + "';" +
                        "document.getElementsByName('ctl00$Body$LoginButton')[0].click();" + "};");

                onPageFinishede(views, urls);

            }


            public void onPageFinishede(WebView views, String urls) {
                if (!loaded) {
                    views.loadUrl(urltesting);
                    loaded = true;

                }

            }

        });

    }

}

現在,它正在加載新頁面,但它占用了將近80%的CPU。 有什么辦法可以減少CPU使用率?

在您的第一頁完成后,嘗試調用loadotherpage() 因此,您需要更改以下幾行

 view.setWebViewClient(new WebViewClient() {
            public void onPageFinished(WebView views, String urls) {

                view.loadUrl("javascript: {" + "document.getElementById('ctl00_Body_ENROLLMENTTextBox_tb').value = '" + "01-134121-061" + "';" +
                        "document.getElementById('ctl00_Body_PasswordTextBox_tb').value = '" + "123456789" + "';" +
                        "document.getElementsByName('ctl00$Body$LoginButton')[0].click();" + "};");

            }

        });

        loadotherpage();

  view.setWebViewClient(new WebViewClient() {
            public void onPageFinished(WebView views, String urls) {

                view.loadUrl("javascript: {" + "document.getElementById('ctl00_Body_ENROLLMENTTextBox_tb').value = '" + "01-134121-061" + "';" +
                        "document.getElementById('ctl00_Body_PasswordTextBox_tb').value = '" + "123456789" + "';" +
                        "document.getElementsByName('ctl00$Body$LoginButton')[0].click();" + "};");
             if(!loaded){
              loadotherpage();
              loaded = true;
             }
            }

        });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM