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

开发公众号平台安卓优化大师破解版

开发公众号平台,安卓优化大师破解版,建盏公司哪几家,溧阳网站制作[[toc]] demo1: 文本通信 h5 -> app 思路: h5 全局属性上挂一个变量app 接收这个变量的内容关键API: navigation代理 navigationAction.request.url?.absoluteString // 这个变量挂载在 request 的 url 上 ,在浏览器实际无法运行,因…

[[toc]]

demo1: 文本通信

h5 -> app

思路:

  • h5 全局属性上挂一个变量
  • app 接收这个变量的内容
  • 关键API: navigation代理 + navigationAction.request.url?.absoluteString
// 这个变量挂载在 request 的 url 上 ,在浏览器实际无法运行,因此不会影响到页面本身
window.location.href="test://hellowolrd"
// app 接收这个变量
navigationAction.request.url?.absoluteString
import UIKit
import WebKit
class ViewController: UIViewController, WKUIDelegate {var webView: WKWebView!override func loadView() {let webConfiguration = WKWebViewConfiguration()webView = WKWebView(frame: .zero, configuration: webConfiguration)// 【1】设置自己为webview的代理webView.uiDelegate = selfwebView.navigationDelegate = selfview = webView        }override func viewDidLoad() {super.viewDidLoad()let myURL = URL(string:"http://localhost:5173/") // oklet myRequest = URLRequest(url: myURL!)webView.load(myRequest)print("viewDidLoad...")}
}
extension ViewController: WKNavigationDelegate {//【2】通过 navigationAction.request.url?.absoluteString  获取 h5 传递的数据func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {print("webView decidePolicyFor ...")print(navigationAction.request.url?.absoluteString)decisionHandler(.allow)}
}

Snipaste_2023-10-04_20-51-41

app -> h5

思路

  • app调用js语法,将app的数据通过 html dom结构或者js方法 传递给h5
  • 关键API:webView.evaluateJavaScript
<!-- h5页面 -->
<div id="someElement1">test data1</div>
<div id="someElement2"></div>
<script>window.getText=function(data){const reuslt = 'test data2:'+data;document.getElementById('someElement2').innerText = reuslt;return reuslt; }
</script>
// app swift
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {print("webView didFinish 页面加载完成之后调用...")webView.evaluateJavaScript("document.getElementById('someElement1').innerText='test data1: app'") {(result, error) inif let result = result {print("someElement result: \(result)")}if let error = error {print("someElement error: \(error)")}}webView.evaluateJavaScript("window.getText('app')") { (result, error) inif let result = result {print("getText result: \(result)")}if let error = error {print("getText error: \(error)")}}
}

Snipaste_2023-10-04_21-29-22

demo2: h5通过app调用相机和扫描二维码

思路

  • 原生app具备调用相机和扫描二维码的能力
  • h5通过jsbridge通知app-》app执行拍照和扫描动作-》将结果返回h5

Snipaste_2023-10-04_21-41-50

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

相关文章:

  • 快速做网站关键词排名整屏幕滑动的网站
  • 一个网站如何赚钱中国建设工程造价网站
  • 联通公司网站谁做的网站视频弹窗代码
  • 京东网站设计特点做自己的网站的好处
  • 网站视频链接2022年编程语言官方排行榜
  • 个人备案的网站可以卖东西么正邦设计公司
  • 湖北网站开发培训苏州网站关键词优化推广
  • 网站群 意义怎样做网页游戏网站
  • 网站建设课程改进建议无障碍环境建设 网站
  • 济宁市建设工程招投标网站江苏网站建设效果好
  • 新增网站备案时间hexo发布wordpress
  • 苏州网站建立公司仿礼物说网站模板
  • 想看别人的wordpress博客网站江西合创建设工程有限公司 网站
  • 网站做推广需要什么条件wordpress 虚拟机
  • 查看别人网站的访问量班级优化大师的功能有哪些
  • 设计网站推广方案从零学习做网站
  • 如何 攻击网站郑州发布最新消息今天
  • 网站 logfiles建设银行个人网上银行网页
  • 泰安网站建设开发公司国家商标注册官网
  • 浦项建设公司员工网站西城网站制作公司
  • 互联网公司网站做美团旅游网站多少钱
  • 石家庄市网站建设中国建设银行企业官网站
  • 一个公司可以注册几个网站wordpress page模版
  • 网站公司企业网站如何把网站上传到网上
  • 济宁市城市建设局网站数控技术是学什么
  • 南昌集团制作网站开发wordpress全自动淘宝客
  • 网站开发已有的知识储备用dede做的网站首页
  • 石家庄网站建设石家庄搭建网站代码
  • 3d做ppt模板下载网站1v1网站建设
  • 山东住房建设部官方网站品牌营销策划公司