首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Flutter应用中添加桌面版网站?

如何在Flutter应用中添加桌面版网站?
EN

Stack Overflow用户
提问于 2018-10-09 20:22:52
回答 3查看 2.7K关注 0票数 7

我需要在我的应用程序中显示桌面版本的网站。对我来说,它显示了移动版本的应用程序:

代码:

代码语言:javascript
运行
复制
import 'package:flutter/material.dart';
import 'package:flutter_webview_plugin/flutter_webview_plugin.dart';
import './landing_page.dart';

class ComicsPage extends StatefulWidget {

@override
_ComicsPageState createState() => _ComicsPageState();

 }
class _ComicsPageState extends State<ComicsPage> {
TextEditingController controller = TextEditingController();
FlutterWebviewPlugin flutterWebviewPlugin = FlutterWebviewPlugin();
var urlString = "https://avengers.marvelhq.com/comics";

 launchUrl() {
 setState(() {
  urlString = controller.text;
  flutterWebviewPlugin.reloadUrl(urlString);
 });
}

@override
void initState() {
super.initState();

flutterWebviewPlugin.onStateChanged.listen((WebViewStateChanged wvs) {
  print(wvs.type);
 });
 }

@override
Widget build(BuildContext context) {
 String newUA= "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 
 Firefox/40.1";
 return WebviewScaffold(
  appBar: AppBar(
    actions: <Widget>[
      IconButton(
        icon: Icon(Icons.cancel,size: 45.0),
        onPressed: () => Navigator.of(context).pushAndRemoveUntil(new 
    MaterialPageRoute(builder: (BuildContext context) => new LandingPage()), 
   (Route route) => route == null),
      )
    ],
    title: const Text('Marvel Comics'),
  ),
  url: urlString,
  withZoom: true,
  withJavascript: true,
  withLocalStorage: true,
  scrollBar: true,
  enableAppScheme: true,

  userAgent: newUA,
  clearCookies: false,
  clearCache: false,

   );
 }
}

i need to view like this sample image

特别是这个网站:click here

我尝试将useragent更改为桌面版本(Mozilla/5.0 (Windows NT6.1;WOW64;rv:40.0) Gecko/20100101 Firefox/40.1)。它不起作用..给我一个解决方案。

EN

回答 3

Stack Overflow用户

发布于 2020-04-10 01:35:09

我知道这个迟来的答案,但也许会有人需要它

顺便说一句,我在《颤动》之前也遇到过这个问题。

做完这个戏法后,这对我来说是件好事。

只需在页面加载后尝试对此代码JavaScript求值

像这样

代码语言:javascript
运行
复制
//to load desktop mode
  String js =
      "document.querySelector('meta[name=\"viewport\"]').setAttribute('content', 'width=1024px, initial-scale=' + (document.documentElement.clientWidth / 1024));";

  @override
  Widget build(BuildContext context) {
    final flutterWebViewPlugin = new FlutterWebviewPlugin();

    flutterWebViewPlugin.onProgressChanged.listen((event) {
      debugPrint("Progress $event");

        //this will make show in desktop mode 
        flutterWebViewPlugin.evalJavascript(js);

    });

    return WebviewScaffold(
      appBar: AppBar(
        title: Text("Desktop Mode"),
      ),
      url: "My Url",
      withJavascript: true,
      useWideViewPort: true,
      displayZoomControls: false,
      scrollBar: true,
      withZoom: true,
    );
  }  

WebView插件here链接

票数 2
EN

Stack Overflow用户

发布于 2020-07-16 22:02:30

将用户代理参数从null更改为下面提到的值

代码语言:javascript
运行
复制
WebView(
              userAgent: "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.4) Gecko/20100101 Firefox/4.0",
              initialUrl: html,
              javascriptMode: JavascriptMode.unrestricted,
              onWebViewCreated: (WebViewController webViewController) {
                _controller.complete(webViewController);
              },
票数 0
EN

Stack Overflow用户

发布于 2022-02-18 12:53:30

像这样使用flutter_webview_plugin

flutter_webview_plugin

代码语言:javascript
运行
复制
 final flutterWebviewPlugin = FlutterWebviewPlugin();

 @override
  void dispose() {
   flutterWebviewPlugin.dispose();
   super.dispose();
 }

@override

Widget build(BuildContext context) {
 return Material(
  type: MaterialType.transparency,
  child: WebviewScaffold(
    appBar: AppBar(
      title: Text('WebView Page'),
    ),
    url: "your url",
    userAgent: 'Fake',
    clearCookies: false,
    clearCache: false,
    
    hidden: true,
    appCacheEnabled: true,
    supportMultipleWindows: true,
  ),
);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52720983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档