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

小企业如何建网站智能建站

小企业如何建网站,智能建站,dede做的网站怎样去换模版,张家港普通网站建设前言 最近在研究如何在应用程序中嵌入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.mmbaike.com/news/111312.html

相关文章:

  • 外贸如何推广公司网站搜索引擎优化排名技巧
  • 西安房产网站大全站长平台百度
  • html5做网站的好处杭州seo优化公司
  • 不用开源做网站永久免费用的在线客服系统
  • 公司网站建设情况网络营销运营方案
  • 南京网站高端怎么制作网页链接
  • 荆州北京网站建设网站seo优化服务
  • 网站推广南京公司电商运营多少钱一个月
  • 北京燕华工程建设有限公司网站黑马培训机构
  • 湖南做旅游网站能打开任何网站浏览器
  • 网站开发支持二次开发怎么做线上推广
  • 公司规模介绍范文电子商务seo名词解释
  • 石狮做网站电脑优化工具
  • 国外用什么做网站买友情链接
  • 昆明做网站做的好的公司有哪些西安seo网络优化公司
  • 比特币做空网站银川seo优化
  • 视频网站开发难点温州seo网站建设
  • 在本地搭建多个网站百度网站app
  • 外贸网站域名能用cn做后缀吗需要推广的app在哪里找
  • 视频网站怎么做统计表企业网站模板html
  • 前端做用vue做后台多还是做网站多建筑设计网站
  • 网站建设要程序员吗网站建设与管理主要学什么
  • 学校网站 asp今日的新闻
  • 阳江做网站多少钱seo百度快速排名
  • 网站建设战略伙伴如何网站推广
  • 餐饮网站做的比较好的是哪个昆明网络推广方式有哪些
  • 个人可否建立网站百度seo排名优化软件化
  • 有没有做ppt很厉害的网站百度指数查询移动版
  • 梁露 网站建设与实践宣传渠道和宣传方式有哪些
  • 卫生监督 网站建设方案如何注册域名及网站