Code: Select all
import 'dart:html';
import 'dart:ui_web' as ui;
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
const MyApp({super.key});
u/override
Widget build(BuildContext context) {
return MaterialApp(
home: WebViewExample(),
);
}
}
class WebViewExample extends StatefulWidget {
u/override
WebViewExampleState createState() => WebViewExampleState();
}
class WebViewExampleState extends State {
late String viewType;
u/override
void initState() {
super.initState();
viewType = 'test-view-type';
}
u/override
Widget build(BuildContext context) {
final content = """
Loan Consent
Loan Consent
This is a paragraph with a
[url=https://www.google.com]google[/url] link.
""";
ui.platformViewRegistry.registerViewFactory(viewType, (int viewId) {
final element = DivElement()
..style.width = '100%'
..style.height = '100%'
..innerHtml = content;
return element;
});
return Scaffold(
appBar: AppBar(
title: const Text("Web Embedding"),
),
body: HtmlElementView(viewType: viewType),
);
}
}
Der Inhalt wird in der App einwandfrei gerendert, aber wenn ich auf das Tag klicke, passiert nichts. Der Link wird nur als einfacher Text angezeigt und die href-Funktionalität funktioniert nicht.
Was ich versucht habe:
Einstellung von target="_blank" im Tag.
Überprüft, dass der HTML-Inhalt ordnungsgemäß funktioniert, wenn er unabhängig in einem Browser ausgeführt wird.
Überprüft, ob HtmlElementView andere Inhalte ordnungsgemäß darstellt.
Frage:
Wie kann ich das Tag in HtmlElementView in einer Flutter-Webanwendung anklickbar und funktionsfähig machen? Muss ich noch etwas konfigurieren, damit die Links funktionieren?