0

我在颤振中使用 webview_flutter: 1.0.7。它适用于android,但不适用于iOS。

我在 info.plist 中为 webview_flutter 添加了以下代码。

<key>io.flutter.embedded_views_preview</key>
    <string>YES</string>
    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
        <key>NSAllowsArbitraryLoadsInWebContent</key>
        <true/>
    </dict>

和 webview 控制器代码是

Container(
     height: wvHeight,
       child: WebView(
         onPageFinished: (some) async {
           String h = await mWebViewControllerSolution
                      .evaluateJavascript("document.documentElement.scrollHeight;");
            if (h != null) {
                 print("H = " + h.toString());
                 double height = double.parse(h);
                  setState(() {
                    wvHeight = height;
                  });
                }
              },
            javascriptMode: JavascriptMode.unrestricted,
            onWebViewCreated: (WebViewController webViewController) {
            mWebViewControllerSolution = webViewController;
            wvSolutionNavigation(context);
             },
           ),
        );


wvSolutionNavigation(BuildContext context) async {
   String html = getSolution();
    if (!Utils.isTable(html)) {
      return;
    }
    if (html.isEmpty) {
       return;
     }
    final String contentBase64 =
    base64Encode(const Utf8Encoder().convert(html));
     await mWebViewControllerSolution
       .loadUrl('data:text/html; charset=utf-8;base64,$contentBase64');
  }

给出错误:

未处理的异常:PlatformException(loadUrl_failed,解析 URL 失败,请求为:'{ headers = ""; url = "data:text/html; charset=utf-8;base64,PHA+VGhlIGNvcnJlY3QgYW5zd2VyIGlzIDxzdHJvbmc+T3B0aW9uIDI8L3N0cm9uZz4gaS5lJm5ic3A7PHN0cm9uZz5LZXNhdmFuYW5kYSBCaGFyYXRpIGNhc2UuPC9zdHJvbmc+PC9wPg0KDQo8dWw+DQoJPGxpPkluIHRoZSZuYnNwOzxzdHJvbmc+S2VzYXZhbmFuZGEgQmhhcmF0aSBjYXNlPC9zdHJvbmc+LCB0aGUgU3VwcmVtZSBjb3VydCBoZWxkIHRoYXQgdGhlICZxdW90OzxzdHJvbmc+YmFzaWMgc3RydWN0dXJlIG9mIHRoZSBDb25zdGl0dXRpb24gY291bGQgbm90IGJlIGFicm9nYXRlZCBldmVuIGJ5IGEgY29uc3RpdHV0aW9uYWwgYW1lbmRtZW50JnF1b3Q7PC9zdHJvbmc+PC9saT4NCjwvdWw+DQoNCjx0YWJsZSBib3JkZXI9IjEiIGNlbGxwYWRkaW5nPSIxIiBjZWxsc3BhY2luZz0iMSIgc3R5bGU9IndpZHRoOjM4OC4wcHgiPg0KCTx0Ym9keT4NCgkJPHRyPg0KCQkJPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlciI+PHN0cm9uZz5DYXNlczwvc3Ryb25nPjwvdGQ+DQoJCQk8dGQgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj48c3Ryb25nPlN1cHJlbWUgQ291cnQgdmVyZGljdDwvc3Ryb25nPjwvdGQ+DQoJCTwvdHI+DQoJCTx0cj4NCgkJCTx0ZD5Hb2xha25hdG<…>

4

0 回答 0