Refine school script diagnostics and document-state capture

This commit is contained in:
Codex
2026-10-15 15:15:42 +08:00
parent a4c2df838e
commit 83b0c7e177
16 changed files with 435 additions and 27 deletions
+4 -12
View File
@@ -2,6 +2,7 @@ import 'package:webview_flutter/webview_flutter.dart';
import 'package:webview_flutter_android/webview_flutter_android.dart';
import '../../services/diagnostic_log.dart';
import 'school_browser_diagnostics.dart';
class SchoolBrowserInfo {
const SchoolBrowserInfo({this.chromiumVersion});
@@ -27,18 +28,9 @@ Future<SchoolBrowserInfo> configureSchoolBrowser(
await cookies.setAcceptThirdPartyCookies(android, true);
}
await controller.setOnConsoleMessage((message) {
final text = message.message.toLowerCase();
final code = text.contains('mixed content')
? 'mixed_content'
: text.contains('content security policy')
? 'content_security_policy'
: text.contains('cors')
? 'cross_origin'
: text.contains('refused to')
? 'resource_refused'
: message.level == JavaScriptLogLevel.error
? 'script_error'
: null;
final code =
schoolConsoleCode(message.message) ??
(message.level == JavaScriptLogLevel.error ? 'script_error' : null);
if (code != null) {
DiagnosticLog.instance.add(
'school_console_error',