当前位置: 首页 > 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.tj-hxxt.cn/news/86709.html

相关文章:

  • 汉口专业网站推广公司互联网产品营销策划方案
  • 深圳做兼职的网站设计营销推广方案ppt案例
  • 设计灵感网站整理百度搜索量查询
  • 网站建设时送的ppt方案微博推广价格表
  • firework做网站教程公司网站设计报价
  • 宁都网站建设关键词的选取原则有
  • 网站开发计划上海还能推seo吗
  • 设计类网站教育培训机构排名
  • 南京做网站多少钱如何自己弄个免费网站
  • 网站建设的7种流程外贸网站搭建
  • 编程猫的网站是什么郑州网络推广
  • 打开网站的语音播报怎么做抖音营销软件
  • bbs网站天津seo推广软件
  • 蓝天网站建设上海优化seo
  • 做网站应该做哪方面的收录优美图片app
  • 建设一个网站需要什么人员优秀网站设计案例
  • 163网易邮箱宁波谷歌seo推广公司
  • 曲靖建设局网站补肾壮阳吃什么药效果好
  • 网站甲假发头套真头发做的假发推广方式都有哪些
  • 郑州旅游网站制作推广普通话手抄报简单又好看内容
  • asp.net 网站访问量中文搜索引擎
  • 商场网站建设公司seo推广主要做什么
  • 宁波网站推广工作室电话风云榜小说排行榜
  • 哈尔滨大型网站开发网站优化seo推广服务
  • 佛山医疗网站建设域名解析在线查询
  • 淄博网站建设服务商网站外链的优化方法
  • 昆山高端网站建设机构seo顾问服务 品达优化
  • 税务局网站怎么做财务报表最好的免费建站网站
  • 贵阳专业做网站的公司有哪些国内优秀网站案例
  • 如何把做的网站变成链接市场调研报告总结