ฉันกำลังพยายามแทรกจาวาสคริปต์ลงในหน้าเว็บที่ฉันโหลดใน webview ตัวอย่างเช่น ฉันกำลังวางค่าลงในกล่องข้อความที่กำหนดโดยแทนที่ 'onPageFinished' ภายในคลาส WebViewClient ที่กำหนดเอง:
public class MyAppWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url)
{
super.onPageFinished(view, url);
view.loadUrl("javascript:" +
"document.getElementById('elid').value = 'texthere';");
}
}
สิ่งนี้ทำงานได้อย่างถูกต้องเมื่อเรียกดูเว็บไซต์และคลิกลิงก์ แต่เมื่อฉันกดปุ่มย้อนกลับ ดูเหมือนว่า java/javascript จะทำงานไม่ถูกต้อง (กล่องข้อความไม่ได้กรอกอย่างถูกต้อง
ฟังก์ชัน onPageFinished จะถูกเรียกเมื่อกดปุ่มย้อนกลับ แต่ดูเหมือนว่าจะกำลังเรียกใช้งานจาวาสคริปต์บนหน้าปัจจุบัน ไม่ใช่บนหน้าที่ถูกส่งกลับ