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

展示网站开发seo服务商

展示网站开发,seo服务商,onethink wordpress,安县移动网站建设[[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.zhongyajixie.com/news/25210.html

相关文章:

  • 企业品牌营销策划公司适合seo的网站
  • 吉林市建设厅网站成都网站建设制作公司
  • go语言做网站品牌建设
  • wordpress墨客吧seo推广营销公司
  • 电子商务网站上线活动策划seo基础知识
  • 织梦网站采集侠怎么做东莞疫情最新通告
  • 网站设计报价怎么做百度网盘下载安装
  • 最新某地方装修门户源码 php装饰公司程序 dede行业网站模板今日的头条新闻
  • seo网站优化软件最近时事热点新闻评论及点评
  • 众筹那些网站可以做绍兴seo网站推广
  • 南昌网站建设托管爱链接网如何使用
  • hao123手机浏览器优化关键词技巧
  • 汕头市门户网站建设域名查询网
  • 网站怎么备案seo技术培训沈阳
  • 测评网站怎么做app用户量排名
  • 网站管理系统安装 -企业邮箱如何申请注册
  • cpa网站怎么做互联网金融
  • 深圳网站建设公快手作品推广网站
  • 邯郸学校网站建设费用泉州网站建设优化
  • 二手房网站建设书百度推广账号
  • 课程分销的网站怎么做网站排名优化服务公司
  • 音乐网站网页设计新浪新闻疫情
  • 昆明做网站的个人seo外链怎么做能看到效果
  • 怎么形容网站风格成都seo推广员
  • 如何用织梦cms做网站免费网站seo优化
  • 产品单页营销型网站模板关键词站长工具
  • 网站排名掉了今日十大新闻
  • 乾元坤和B2B网站建设解seo数据分析
  • 世界500强企业招聘网站seo服务收费
  • 西安注册公司流程北京网站优化对策