1

当我尝试使用 localhost 将本地文件从手机本地存储加载到 WebView 时,它会显示消息

Unable to load asset: /data/data/com.example.mapapp/app_flutter/flutter_assets/weather/wind_speed/2021081310.json

我正在使用的包:[https://pub.dev/packages/flutter_inappwebview]

飞镖代码:

    Widget build(BuildContext context) {
    return InAppWebView(
      onLoadStart: (controller, url) {
        controller.setOptions(
            options: InAppWebViewGroupOptions(
          crossPlatform: InAppWebViewOptions(
            allowFileAccessFromFileURLs: true,
            allowUniversalAccessFromFileURLs: true,
            javaScriptEnabled: true,
          ),
        ));
      },
      onLoadStop: (controller, url) async {
        var locationData = await homeMapController.getLocation();
        controller.evaluateJavascript(
        controller.evaluateJavascript(source: "loadPfz()");
      },
      
      initialUrlRequest: URLRequest(
          url: Uri.parse('http:127.0.0.1:8080/assets/in/index.html')),
    );
  }

JavaScript代码:

   function loadPfz() {
    $.ajax({
        type: "GET",
        url: "http://127.0.0.1:8080//data/data/com.example.mapapp/app_flutter/flutter_assets/gis/pfz.json",
        success: function (res) {
            console.log(`1313 ${res}`)
            try {
                var layerData = JSON.parse(res);
                showPfz(layerData);
            } catch (e) {
                var layerData = res;
                showPfz(layerData);
            }
        },
        error: function (err) {
            console.log(`1323 ${err}`);
        }
    });
}
4

0 回答 0