flutter中用flutter_inappbrowser嵌入Vue项目,无法加载iframe页面

  • Post author:
  • Post category:vue




标题flutter中用flutter_inappbrowser嵌入Vue项目,无法加载iframe页面

再项目开发中遇到一个问题,需要在flutter项目中的一块区域放k线图,由于flutter做股票那样的k线图难度挺大,也没有找到合适的插件,所以最后决定用webview嵌入一个html页面进来。

在嵌入页面的时候一切正常,最后加上数据请求的时候发现K线图并没有渲染出来。。。

后来发现html页面里面是用的iframe嵌套的K线图,,,



解决办法:

在flutter里面用插件起一个本地服务

  1. 先加入依赖
dependencies:
	...
	jaguar: ^2.2.1
	jaguar_flutter_asset: ^2.2.0
	...
  1. 在dart文件里面启动服务
void main() async {

  final server = Jaguar(port:9000);
  server.addRoute(serveFlutterAssets());
  await server.serve(logRequests: true);
  print('server=$server');
  server.log.onRecord.listen((r){
    print(r);
    });

  runApp(MyApp());
}
  1. 引入html页面地址变更
Center(
   child: InAppWebView(
       initialUrl: 'http://localhost:9000/kline/index.html',  // 本地服务
       onLoadStop:
         (InAppWebViewController controller, String url) {
         controller.injectScriptCode("window.appSendJs('ETHBTC')");  // 传参给html
       }
     )
  )



版权声明:本文为luck_yangl原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。