Estoy creando una URL, en Flutter web, y la abro en una nueva pestaña usando JS. Se abre bien, pero no cargue la URL y devuelva una página en blanco. Necesito cargar/actualizar la pestaña manualmente cada vez.
import 'dart:js' as js; js.context.callMethod('open', [_buildUrl(category, id)]); String _buildUrl(String category, int id) { return "$_baseUrl/$category/$id"; }¿Es un comportamiento normal o me perdí algo?
Gracias por adelantado
El enfoque anterior está funcionando bien en mi extremo. A continuación se muestra lo que probé:
En el fragmento, el Método 1 es activar otra página dentro del mismo sitio web usando Uri.base; y está abriendo una nueva pestaña como se esperaba.
import 'dart:js' as js; import 'dart:html' as html; Widget build(BuildContext context) { return Scaffold( body: ElevatedButton( onPressed: () { // Method 1 js.context.callMethod('open', [_buildUrl("Grocery", 101)]); // Method 2 - Alternative //html.window.open(_buildUrl("Grocery", 101), "new tab"); }, child: const Text('using JS method'), ), ); } String _buildUrl(String category, int id) { return "${Uri.base}$category/$id"; }De forma alternativa, si sigue siendo problemático, puedes intentar usar el método window.open() de la biblioteca html en Flutter. Lo he mencionado como Método 2 en el fragmento de código anterior. Eso también abrirá una nueva pestaña en el mismo navegador.