manager-app/lib/Screens/Policy/web_view.dart
2023-02-20 17:29:54 +01:00

67 lines
1.6 KiB
Dart

import 'dart:html';
import 'dart:ui' as ui;
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
class WebView extends StatefulWidget {
WebView({this.htmlText});
final String htmlText;
@override
_WebViewWidget createState() => _WebViewWidget();
}
class _WebViewWidget extends State<WebView> {
final IFrameElement _iframeElement = IFrameElement();
@override
void initState() {
if(kIsWeb) {
_iframeElement.src = "https://mymuseum.be";
_iframeElement.style.border = 'none';
_iframeElement.style.width = '100%';
_iframeElement.style.height = '100%';
_iframeElement.innerHtml = widget.htmlText;
document.body.innerHtml = widget.htmlText;
//document.title = "Privacy Policy";
//document.body. = widget.htmlText;
_iframeElement.onLoad.listen((event) {
// Send message to iframe when loaded
_iframeElement.innerHtml = widget.htmlText;
});
//ignore: undefined_prefixed_name
ui.platformViewRegistry.registerViewFactory(
widget.htmlText, //use source as registered key to ensure uniqueness
(int viewId) => _iframeElement,
);
}
super.initState();
}
@override
void dispose() {
//_webView = null;
super.dispose();
}
@override
Widget build(BuildContext context) => widget.htmlText != null && widget.htmlText.length > 0 ?
kIsWeb ?
HtmlElementView(
key: UniqueKey(),
viewType: widget.htmlText,
) :
//WebViewWidget(controller: controller!)
Text("Texte"):
Center(child: Text("La page internet ne peut pas être affichée, l'url est incorrecte ou vide"));
} //_webView