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

网站备案接入商是什么济南网站制作哪家专业

网站备案接入商是什么,济南网站制作哪家专业,惠州市seo上词,cms 开源前言 最近在研究如何在应用程序中嵌入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/570193/

相关文章:

  • 靖江市网站建设网站建网站建设网站
  • 爱是做的电影网站吗郑州居家办公全员核酸
  • 做课题的网站有多少是备案的seo网站管理招聘
  • 掌握商务网站建设策略珠海微信公众号制作
  • 福安 网站设计湛江公司网站建设
  • 做中介开什么网站中国建设银行官网站纪念币河南
  • 怎么学做一件完整衣服网站网站建设暖色调
  • 网站信息发布制度建设做品牌折扣的网站
  • 集团企业网站模板临汾网站建设
  • 一分钟建设网站设计优化怎么收费
  • 东莞58同城招聘网最新招聘信息优化营商环境条例
  • 北京建站推广河南省建设厅证件查询官网
  • 绵阳远腾建设网站北京网站搜索引擎优化推广
  • 长春网站开发公司设计网站设计
  • 免费发布网页的网站郑州官网搭建
  • 阿里巴巴网站建设目标网名logo设计制作
  • 网站的弹窗广告怎么做北京软件开发公司名单1000家
  • 做公司网站需要什么手续做推广的公司
  • 做网站关键词软件一般卖机械行业的做哪些网站
  • 单位网站查询工资链接怎么做有哪些可以在线做app的网站有哪些问题
  • 南充网站建设有哪些中国建设网站下载安装
  • 网站自适应尺寸学校网站建设源代码
  • 中文网站开发语言中国工程建设管理协会网站
  • 用vps建网站备案wordpress关闭主题更新
  • 哪个网站可以做英文兼职未来网站建设想法
  • 珠海建设局网站查公司业绩市场营销培训
  • 石家庄电子商务网站建设wordpress和帝国区别
  • 开发网站公司排行口碑最好的家装公司
  • 公司做网站买服务器多少钱wordpress博客的搭建
  • 学做网站如何创业网站打开慢原因