gpt4 book ai didi

javascript - Webview 未加载两个页面

转载 作者:行者123 更新时间:2023-11-28 07:00:30 26 4
gpt4 key购买 nike

在我的应用程序中,我的 Activity 之一基于网页。我想加载一个网页,该网页将显示我的学生门户中的 ExamSeatingPlan。我正在使用 登录该网站JavaScript,然后我想加载将在同一 Web View 上显示我的 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;

}

}

});

}

}

现在正在加载新页面,但 CPU 使用率接近 80%。有什么办法可以降低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;
}
}

});

关于javascript - Webview 未加载两个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32183063/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com