web.dart 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import 'dart:html';
  2. import 'dart:ui' as ui;
  3. import 'package:flutter/material.dart';
  4. import 'package:link/constants.dart';
  5. class WebPage extends StatefulWidget {
  6. const WebPage({Key? key}) : super(key: key);
  7. @override
  8. State<WebPage> createState() => _WebPageState();
  9. }
  10. class _WebPageState extends State<WebPage> {
  11. getWebPage(){
  12. final IFrameElement iframe = IFrameElement();
  13. iframe.src = 'https://www.weibo.com';
  14. iframe.style.border = 'none';
  15. ui.platformViewRegistry.registerViewFactory(
  16. 'iframeElement',
  17. (int viewId) => iframe,
  18. );
  19. Widget _iframeWidget;
  20. _iframeWidget = HtmlElementView(
  21. key: UniqueKey(),
  22. viewType: 'iframeElement',
  23. );
  24. return Stack(
  25. children: <Widget>[
  26. IgnorePointer(
  27. ignoring: true,
  28. child: Center(
  29. child: _iframeWidget,
  30. ),
  31. ),
  32. ],
  33. );
  34. }
  35. @override
  36. Widget build(BuildContext context) {
  37. return Container(
  38. color: kBgColor,
  39. child: getWebPage(),
  40. );
  41. }
  42. }