Estoy tratando de insertar un formulario de https://convertkit.com/ending-a-business-relationship en mi página web de flutter. Esto ha sido muy difícil y parece que no puedo entender por qué no hay un sistema fácil como con las aplicaciones flutter.
Hasta ahora lo he configurado así:
import 'package:flutter/material.dart'; import 'package:mygamedevpal/shared/appbar_desktop.dart'; import 'dart:js' as js; import 'dart:html' as html; import 'dart:ui' as ui; class MyDesktopBody extends StatelessWidget { const MyDesktopBody({Key? key}) : super(key: key); @override Widget build(BuildContext context) { final currentWidth = MediaQuery.of(context).size.width; return Scaffold( appBar: AppBarDesktop(), body: Center( child: Iframe(), // child: Text( // "COMING SOON!", // style: Theme.of(context).textTheme.bodyLarge, // textAlign: TextAlign.center, ), ); } } class Iframe extends StatelessWidget { Iframe() { // ignore: undefined_prefixed_name ui.platformViewRegistry.registerViewFactory('iframe', (int viewId) { var iframe = html.IFrameElement(); iframe.src = 'https://app.convertkit.com/forms/3425056/subscriptions'; return iframe; }); } @override Widget build(BuildContext context) { return Container( width: 800, height: 600, child: HtmlElementView(viewType: 'iframe')); } }Sin embargo esto me da el siguiente error:
Refused to display 'https://app.convertkit.com/' in a frame because it set 'X-Frame-Options' to 'sameorigin'.Leí a personas que dicen que agreguen incrustaciones, sin embargo, esto solo conduce a un 404 del sitio web. ¿Realmente no hay una manera simple de incrustar un formulario de otro sitio usando js para sitios web flutter?
¡Gracias por adelantado!
Cuando use Flutter, probablemente debería usar un widget de vista web como webviewx en lugar de usar dart:html y amigos.
¡Pero eso probablemente no resolverá el mensaje de error real, porque significa que Convertkit le prohíbe incrustar esa URL en un <iframe> ! Debe verificar con Convertkit cómo incrustar correctamente .
MISMO ORIGEN
La página solo se puede mostrar en un marco en el mismo origen que la página misma.
Fuente: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options