再项目开发中遇到一个问题,需要在flutter项目中的一块区域放k线图,由于flutter做股票那样的k线图难度挺大,也没有找到合适的插件,所以最后决定用webview嵌入一个html页面进来。
在嵌入页面的时候一切正常,最后加上数据请求的时候发现K线图并没有渲染出来。。。
后来发现html页面里面是用的iframe嵌套的K线图,,,
在flutter里面用插件起一个本地服务
dependencies:
...
jaguar: ^2.2.1
jaguar_flutter_asset: ^2.2.0
...
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());
}
Center(
child: InAppWebView(
initialUrl: 'http://localhost:9000/kline/index.html', // 本地服务
onLoadStop:
(InAppWebViewController controller, String url) {
controller.injectScriptCode("window.appSendJs('ETHBTC')"); // 传参给html
}
)
)