Flutter webview连接在web中被拒绝

3pmvbmvn  于 2023-11-21  发布在  Flutter
关注(0)|答案(2)|浏览(131)

bounty将于明天到期。回答此问题可获得+50声望奖励。Cypher正在寻找来自信誉良好的来源的答案

我想在AndroidIOSWeb上构建一个WebView应用程序。
所以我下载了this sample
当我加载“https://flutter.dev“

时,它可以工作
但是当我把网址改为“https://www.google.com“时,网页会出现错误连接被拒绝。
模拟器仍然工作。

如何解决它
此外,你有任何建议库构建WebView上的AndroidIOSWeb
我试了几个流行的,但他们都很难使用。

bsxbgnwa

bsxbgnwa1#

而不是使用https://pub.dev/packages/webviewx
使用https://pub.dev/packages/webview_flutter
这是官方图书馆
这样使用->
x1c 0d1x的数据
对于webview,请使用iFrameElement,但它仅在启用CORS策略时有效

qltillow

qltillow2#

参见Github issue/documentation
1.不支持iframe嵌入的普通URL(例如https://google.com,您需要使用SourceType.urlBypass)。

webviewController.loadContent(
                'https://google.com',
                SourceType.urlBypass,
              );

字符串
完整示例:

import 'package:flutter/material.dart';
import 'package:webviewx/webviewx.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: MyWebViewPage(),
    );
  }
}

class MyWebViewPage extends StatefulWidget {
  @override
  _MyWebViewPageState createState() => _MyWebViewPageState();
}

class _MyWebViewPageState extends State<MyWebViewPage> {
  late WebViewXController webviewController;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('WebViewX Example'),
      ),
      body: Column(
        children: [
          WebViewX(
            initialContent: 'https://example.com',
            // initialSourceType: SourceType.,
            onWebViewCreated: (controller) => webviewController = controller,
            onWebResourceError: (error) {
              print('WebViewX Error: ${error.errorCode}, ${error.description}');
            },
            // ... other options

            width: 400,
            height: 400,
          ),
          ElevatedButton(
            onPressed: () {
              // Load a URL when the button is pressed
              webviewController.loadContent(
                'https://google.com',
                SourceType.urlBypass,
              );
            },
            child: Text('Load Google Website'),
          ),
          ElevatedButton(
            onPressed: () {
              // Go back in the webview's history
              webviewController.goBack();
            },
            child: Text('Go Back'),
          ),
          ElevatedButton(
            onPressed: () {
              // Go forward in the webview's history
              webviewController.goForward();
            },
            child: Text('Go Forward'),
          ),
        ],
      ),
    );
  }
}


的数据

相关问题