当我尝试使用 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}`);
}
});
}