当前位置: 首页 > news >正文

会议网站怎么做南宁做网站找哪家

会议网站怎么做,南宁做网站找哪家,设计企业网站机,比较好的软件开发公司前言 最近在研究如何在应用程序中嵌入Web视图,发现有两个库不错。 一个是官方维护、一个是第三方维护。因为没说特别的需求,就使用了官方库,实现一些简单功能是完全ok的 基本使用 官方文档 https://pub-web.flutter-io.cn/packages/webv…

前言

最近在研究如何在应用程序中嵌入Web视图,发现有两个库不错。
在这里插入图片描述
一个是官方维护、一个是第三方维护。因为没说特别的需求,就使用了官方库,实现一些简单功能是完全ok的

基本使用

官方文档

https://pub-web.flutter-io.cn/packages/webview_flutter

安装

flutter pub add webview_flutter

加载并显示web
可以加载html字符串,也可以直接加载url链接。官方都提供了对应的方法,这里演示加载url

  • 初始化
 late WebViewController webViewController;//初始化void initState() {super.initState();webViewController = WebViewController()..setJavaScriptMode(JavaScriptMode.unrestricted);}
  • 显示
    显示的时候一般需要结合FutureBuilder,比较这是一个异步的过程
FutureBuilder(// 异步方法future: searchNovelFromWeb(),builder: (context, snapshot) {// 等待状态显示的widgetif (snapshot.connectionState == ConnectionState.waiting) {return const Center(child: CircularProgressIndicator(),);//  错误时显示的widget} else if (snapshot.hasError) {return const Text('Error');} else {return snapshot.data ?? const Text('No data');}}))Future<Widget> searchNovelFromWeb() async {Widget res;try {await webViewController.loadRequest(Uri.parse('https://m.bbxxxxxx.com/s?q=凡人修仙'));res = WebViewWidget(controller: webViewController);} catch (error) {res = Text("加载失败:${error.toString()}");print("加载失败:${error.toString()}");}return res;}

在这里插入图片描述
在这里插入图片描述

flutter与web之间的交互

flutter通知web,让web执行某些操作

官方提供了两个方法:runJavaScriptrunJavaScriptReturningResult。后者可以向flutter返回执行结果
比如在网页加载完成后获取到网页源代码

webViewController.setNavigationDelegate(NavigationDelegate(onPageFinished: (url) async {print("页面加载完成:$url");var html = await webViewController.runJavaScriptReturningResult("document.documentElement.innerText;");debugPrint("结果是11:$html", wrapWidth: 1024);}));

在这里插入图片描述

web发生变化后,通知flutter
这块也实现了,但是不太稳定,有时候不能够正常运行

 await webViewController.loadRequest(Uri.parse('https://m.bbxxxxxxxt.com/s?q=凡人修仙'));webViewController.setNavigationDelegate(NavigationDelegate(onPageFinished: (url) async {print("页面加载完成:$url");// 添加监听await webViewController.addJavaScriptChannel('Report',onMessageReceived: (JavaScriptMessage message) {print("收到了消息,是:${message.message}");});// 注入脚本await  webViewController.runJavaScript('''setInterval(() => {let time = new Date().toLocaleTimeString();Report.postMessage(time);},1000)''');}));

在这里插入图片描述

http://www.yayakq.cn/news/304322/

相关文章:

  • 典型网站建设实例精讲手机连接电脑弹窗wordpress
  • 用ps做网站页面的大小佛山网站建设no.1
  • 网站建设中最重要的是什么意思有什么好的手机推荐网站
  • 网站空间和服务器宿迁城乡住房建设厅网站
  • 网站服务器租用资质wordpress 连接mysql
  • 视频网站 php源码哪个网站做外贸的
  • 社交网站 用户互黏度网站做几个域名比较好
  • 高端网站定制开发深圳网站建设用php建设优点
  • 大型网站建设与维护过程深圳罗湖做网站58
  • 珠海企业网站建设价格网站开发网上教学
  • 企业网站管理规定校园网站设计参考文献
  • 做网站感想如何修改asp网站栏目
  • 包头教育云网站建设免费网站创建工具
  • 旅游网站建设代码深圳市营销策划有限公司
  • 高质量的合肥网站建设长腿蜘蛛wordpress
  • asp开发网站详细步骤网站图标代码
  • 网站代码组件百度上推广一个网站该怎么做
  • 江苏省网站备案查询wordpress更改鼠标
  • 3g电影网站排行榜数码产品网站建设计划书
  • seo整站优化网站建设什么网站做ppt赚钱
  • 网站广告是内容营销吗wordpress skydrive
  • 城乡和住房建设厅网站网站建设策划范文
  • 网站域名被注销重新备案怎么做简述企业网络建设的流程
  • 购买qq空间访客的网站建设食品网站如何定位
  • 公司网站建设需要什么科目开通网站的请示
  • 建设网站南沙wordpress怎么显示文章时间
  • 网站数据分析表格重庆网站运营公司
  • 大理建设局网站关键词调整排名软件
  • 环保局 网站建设wordpress设置会员有效期
  • 一个免费的网站电影网站建站