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

仪征市城乡建设局网站建筑工程网上保健网站

仪征市城乡建设局网站,建筑工程网上保健网站,自己做的网站可以买东西吗,wordpress未验证邮箱前言 最近在研究如何在应用程序中嵌入Web视图#xff0c;发现有两个库不错。 一个是官方维护、一个是第三方维护。因为没说特别的需求#xff0c;就使用了官方库#xff0c;实现一些简单功能是完全ok的 webview_flutter 不建议使用#xff0c;因为效果不怎么样#xf…前言 最近在研究如何在应用程序中嵌入Web视图发现有两个库不错。 一个是官方维护、一个是第三方维护。因为没说特别的需求就使用了官方库实现一些简单功能是完全ok的 webview_flutter 不建议使用因为效果不怎么样当然也可能是我太菜不会用下面这个问题就很难理解为什么会这样 基本使用 官方文档 https://pub-web.flutter-io.cn/packages/webview_flutter 安装 flutter pub add webview_flutter加载并显示web 可以加载html字符串也可以直接加载url链接。官方都提供了对应的方法这里演示加载url 初始化 late WebViewController webViewController;//初始化overridevoid 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);}}))FutureWidget 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执行某些操作 官方提供了两个方法runJavaScript、runJavaScriptReturningResult。后者可以向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));}));flutter_inappwebview 功能更多这里只会简单介绍一下具体使用可以查看官方文档、官方案例。 强烈推荐功能更多而且原来使用webview_flutter无法实现的功能现在轻而易举的实现了。 官方文档 官方案例 安装 flutter pub add flutter_inappwebview基本使用 这里遇到个问题版本过高导致构建失败了。我现在用的版本是5.6.0 // 将html字符串解析为dom的库 import package:html/parser.dart; import package:flutter_inappwebview/flutter_inappwebview.dart;late InAppWebViewController inAppWebViewController;res InAppWebView(initialUrlRequest:URLRequest(url: Uri.parse(https://onion.inscode.cc/)),onLoadStop: (controller, url) async {// 加载完成inAppWebViewController controller;print(加载地址$url);var html await controller.getHtml();debugPrint(html是${html.toString().trim()});var dom parse(html);print(标题是${dom.querySelector(.title)?.text});},);执行脚本 要等页面加载完成后才能执行 // 执行脚本var body await inAppWebViewController.evaluateJavascript(source: document.body.innerHTML);debugPrint(执行结果${body.toString().trim()});遇到的问题 最开始我的想法是执行函数然后更新要显示的组件但是resBody 一直没有更新。后来发现好像是onLoadStop没有执行仔细思考后应该是InAppWebView初始化后没有在页面上显示导致后续方法没有执行。解决方法就是让InAppWebView在页面上显示当然可能不想在页面显示这时给它父容器设置一个高度比如1这样就可以解决这个问题。 Future searchNovelFromWeb() async {String html ;InAppWebView(initialUrlRequest:URLRequest(url: Uri.parse(https://onion.inscode.cc/)),onLoadStop: (controller, url) async {inAppWebViewController controller;print(开始搜索了);html await inAppWebViewController.getHtml() ?? 1111;debugPrint(查询的值${html.toString()});setState(() {resBody const Text(搜索完成);});},);}
http://www.zqtcl.cn/news/720835/

相关文章:

  • 广东建设信息公开网站怎样策划一个营销型网站
  • 魔兽做图下载网站如何经营一个购物网站
  • 深圳做网站哪个平台好一级消防工程师考试题型
  • 网站婚礼服务态网站建设论文网站设计有限公司是干嘛的
  • 邯郸网站建设效果好广西做网站的公司
  • 网站logo上传营销型网站制作方案
  • 小说网站静态模板站长工具seo综合查询adc
  • 北京响应式网站做logo那个网站
  • 如何申请免费网站空间刚察县wap网站建设公司
  • 哪里有网站推广软件免费推广seo策略方法
  • 阿里云备案网站 网站名称怎么写京icp备案查询
  • 网站开发岗位思维导图alexa排名
  • 自适应网站建设济南济南网站建设公司
  • 巴州网站建设库尔勒网站建设钟爱网络杭州微信网站制作
  • 52做网站南京市住房城乡建设门户网站
  • 网站开发精品课程贵阳市白云区官方网站
  • seo整站优化服务会计培训班一般收费多少
  • 批量网站访问检测怎么做好手机网站开发
  • 深圳网站建设公司哪家比较好shortcodes wordpress
  • 网站内链越多越好嘛可以做3d电影网站
  • 企业网站需求文档微商引流客源最快的方法
  • 交互式网站备案业务网站在线生成
  • 自建网站百度个人网站如何在百度上做推广
  • 如何安装wordpress模板竞价网站做seo
  • 做论坛网站如何赚钱电子商务营销推广
  • 想要自己做一个网站怎么做济宁百度网站建设
  • 海会网络建设网站wordpress刷不出图片
  • 一个人做商城网站网站推广的几个阶段
  • 做国学类网站合法吗html5教程pdf下载
  • 云南省文化馆网站建设二级域名分发平台