js与移动端交互

2023-11-15

1.js 调用移动端ios与android方法

2.移动端ios与android调用js方法

3.demo如下:

<!DOCTYPE html>
<html>
    <head>
        <title>js与移动端交互</title>
        <meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0">
        <meta charset="UTF-8">
            </head>
    <body>
    	
    	<div id="btt" style="text-align:center;margin-top:200px;">
    		<input type="button" name="" id="getData" value="调用移动端app内定义方法" style="font-size: larger;" />
    	</div>
  	
    </body>
    <script type="text/javascript" charset="utf-8">
    	document.getElementById("getData").addEventListener("click", function(){
    		var data={"a":"1","b":"2"}
    		//method为移动端原生方法的方法名,param为要传递的参数
			//window.webkit.messageHandlers.method.postMessage(param)
			if (_IsIOS()) {
				alert("进入ios")
				try
				   {
					 window.webkit.messageHandlers.test.postMessage(JSON.stringify(data))
					}
				 catch(err)
				   {
				   //在这里处理错误
				   alert("调用异常:"+err)
				   return;
				   }
			    alert("调用完成")
			} else if (_IsAndroid()) {
				alert("进入android")
			    // var s= window.control.call('test()', data);
			    //或者window.control.method(param);
			   
			   try
				   {
				   //在这里运行代码
				     window.YouXun_JS.test(JSON.stringify(data))
				   }
				 catch(err)
				   {
				   //在这里处理错误
				   alert("调用异常:"+err)
				   return;
				   }
			    alert("调用完成")
			}

    	})
    	//移动端调用js方法
    	function testCall(data) {
		    alert(data);
		    
		}
	
    	
    	
		    	
		//判断是否为ios端访问
		function _IsIOS() {
		    if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
		        return true;
		    } else {
		        return false;
		    }
		}
		//判断是否为android端访问
		function _IsAndroid() {
		    if (/(Android|Adr)/i.test(navigator.userAgent)) {
		        return true;
		    } else {
		        return false;
		    }
		}

    </script>
</html>

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

js与移动端交互 的相关文章

  • 由于在 iOS 14.2 模拟器的排除架构中设置arm64而导致大量错误

    首先免责声明 我正在使用配备 Apple Silicon M1 的 Mac Mini 由于 Xcode 12 中的已知错误 我已在排除的架构中设置了 arm64 链接的框架 XXXXXX 缺少一个或多个架构 该目标所需 arm64 由于我更
  • 具有现有仿射变换的 UIKit Dynamics

    我的观点有一些尺度上的转变 当我在其上应用一些 UIKit Dynamics 时 它会将它们归零 如何在视图上保留现有的转换 同时使其跳转 P 谢谢 看看 UIDynamicAnimator 的updateItemUsingCurrentS
  • 在应用程序退出时保存 Android 应用程序数据

    看来关于保存的信息量很大Activity状态 但我一直无法找到太多的信息应用 state 我正在寻找一些设计想法来解决我遇到的问题 我正在开发一个具有相当大的数据模型 1 2 MB 的游戏 该模型存在于任何 Activity 之外 事实上有
  • ios 中的位置时间戳精度

    在分析 iOS 10 中的位置服务后 发现缓存行为存在一些不一致 定期 在我的例子中每 20 秒 获取位置会返回位置 但它们的时间戳不按时间顺序排列 这表明缓存位置可能有问题 因此 如果您通过位置时间戳检查准确性 最好也保存以前的时间戳 这
  • 为什么我无法在 Android 上从串口打开/写入?

    我编写了一个 Android 应用程序 它在 Android 4 4 Kitkat 设备上的自定义内核上运行 该设备使用 Android 串行端口 API https code google com p android serialport
  • 在处理器生成的类中使用库

    我正在开发一个库来使用注释和处理器生成类 生成的类应该使用Gson来自谷歌的图书馆 我的问题是 我应该在哪里添加 Gson 依赖项 我目前正在将其添加到处理器 build gradle 中 但是当生成类时 找不到 Gson Android
  • 检测已退款的托管应用内购买 android IAP 2.0.3

    我无法弄清楚如何使用 Android 检测何时为托管 不可消费 应用内产品发放退款com android billingclient billing 2 0 3 这个问题似乎相当深 尽管我可能让它变得比应有的更复杂 首先 我进行了一次测试购
  • 在Android中获取Fragment中的应用程序上下文?

    我已通过在一个活动中使用应用程序上下文将一些数据存储到全局类中 稍后我必须在片段中检索这些值 我已经做了类似的事情来存储在全局类中 AndroidGlobalClass AGC AndroidGlobalClass getApplicati
  • Android asmack:stateChange 从未被调用

    我正在使用 asmack xmpp 客户端构建一个聊天应用程序 聊天工作正常 我已经实施了ChatStateListener but stateChanged方法永远不会被调用 目前 为了获取撰写状态 我正在解析消息 xml 以下是撰写 文
  • indexoutofboundException :setSpan (2...2) 结束长度超出长度 1

    I ve a MultiAutoCompleteTextView当用户按空格键时 我在其中创建芯片文本的自定义控件 我不希望用户在文本框为空时最初输入空格 所以我放了一个inputFilter以防止用户最初放置空格 这是过滤器代码 priv
  • 创建一个覆盖视图以覆盖整个活动,包括协调器布局中的工具栏

    我想创建一种覆盖类型的布局 以显示在包括工具栏在内的活动上方 我无法使用任何库来执行此操作 因为我编写的所有内容都是自定义的 我可以通过使用以下代码直接将视图添加到装饰视图来实现它 ViewGroup vg ViewGroup getWin
  • Android编程-多个列表视图的onitemclicklistener不起作用

    在我的活动中 我创建了七个列表视图 并使用 viewpager 在同一活动中在它们之间滑动 然后我有一个 sqlite 数据库填充每个列表视图 我的问题是 onitemclicklistener 不起作用 没有错误 代码执行正常 但列表项点
  • SupportMapFragment 地图为空

    我使用以下代码在 Xamarin Android 中显示地图 private SupportMapFragment mapFragment private GoogleMap map protected override void OnCr
  • 构建复杂 NSCompoundPredicate 的最佳方法是什么?

    我需要建立一个NSPredicate有很多数据 例如 在 SQL 中我会执行如下操作 SELECT FROM TRANSACTIONS WHERE CATEGORY IN categoryList AND LOCATION IN locat
  • 如何展开和折叠列表视图中的项目

    我对安卓还很陌生 我想实现一个列表视图 它包含一些列表项 当单击它们时 它们应该展开以显示更多信息 但我找不到办法做到这一点 这是我的activity main xml
  • 全屏 Exoplayer

    我尝试用以下内容显示节目视频 mp4 外播放器 in 回收视图 and 浏览器 我展示了具有自定义布局的视频控制器 到目前为止 一切都很好 现在尝试像其他视频播放器一样全屏播放视频 但在中找不到好方法外播放器 doc 谁能帮我 ExoPla
  • Android Google Maps API OnLocationChanged 仅调用一次

    每当我的位置发生变化时 我都会尝试更新我的相机 然而 onLocationChanged 只被调用一次 当我随后在模拟器中发送新位置时 不会调用 onLocationChanged 我已经尝试了几个小时了 但似乎无法修复它 public c
  • 自己应用程序锁屏中的 iPod 控制

    如何为我自己的应用程序使用锁屏 iPod 控件 我尝试了MPNowPlayingInfoCenter 但是如果我设置了信息 它就不会显示在任何地方 不在锁定屏幕上 也不在 AppleTV 上播放 我使用 AVPlayer 来播放我的音频文件
  • Fragment中有类似setResult()的方法吗?

    我正在使用一个片段 我收到错误onResult 方法 我需要一个替代方法setResult RESULT OK data 我可以在我的片段中使用它 请帮忙 日历片段 package app pal study samplestudy imp
  • 总小时数无法从 Android 插入 MySQL

    我使用以下公式获得总小时数 public void updateTotalHours int a SplitTime objMyCustomBaseAdapter getFistTime int b SplitTime objMyCusto

随机推荐

  • 在虚拟磁盘中安装Windows Server 2016

    说起来我一直没有安装过Windows服务器版的系统 所以最近想尝试一下Windows Server 2016 这个最新的Windows服务器系统 当然如果是家用的话 肯定还是安装桌面版的系统更好 服务器版的系统主要是企业使用 日常功能反而不
  • python读取每一行再按照空格分隔

    all with open number txt r as f for line in f readlines curLine line strip split print curLine all append curLine f clos
  • 附近商家位置java开发附近定位

    根据给定经纬度 lat lng 求出其左上角 left top 右上角 right top 左下角 left bottom 右下角 right bottom 的四个位置 所有在这个区域的范围都在该点附近 public class Test
  • 最新计算机毕业设计选题推荐 - 毕设选题建议

    文章目录 0 前言 1 java web 管理系统 毕设选题 2 java web 平台 业务系统 毕设选题 3 游戏设计 动画设计类 毕设选题 适合数媒的同学 4 算法开发 5 数据挖掘 毕设选题 6 大数据处理 云计算 区块链 毕设选题
  • 2020全国网络安全知识竞赛链工宝答案 爬取 自动答题

    要用浏览器打开公众号的练题库 然后就可以自动获取答案 最下面是我获取到的300多个题 差不多就这些了 可以进一个加个函数自动答题 def fu try browser refresh time sleep 2 xx browser find
  • STM32F103RET6 ADC配置流程

    STM32F103RET6 ADC基本配置流程 首先 使用RCC库函数RCC APB2PeriphClockCmd使能ADC时钟 可以使用以下代码 RCC APB2PeriphClockCmd RCC APB2Periph ADC1 ENA
  • 开环控制系统与闭环控制系统

    开环控制系统是指无被控量反馈的控制系统 即需要控制的是被控对象的某一量 被控量 而测量的只是给定信号 被控量对于控制作用没有任何影响的系统 结构如图所示 闭环控制的定义是有被控制量反馈的控制 其原理框如图所示 从系统中信号流向看 系统的输出
  • 最强Transformer发布!谷歌大脑提出ViT-G:缩放视觉Transformer,高达90.45%准确率!

    Scaling Vision Transformers 论文 https arxiv org abs 2106 04560 1简介 视觉Transformer ViT 等基于注意力的神经网络最近在许多计算机视觉基准测试中取得了最先进的结果
  • 关于在uni-app中引入组件、css样式以及js文件的方法总结

    uni app是使用vue js开发多端应用的框架 可以说为一些钱多开发者提供了很大的方便 近些天学习了一下vue js 可当开始开发的时候却不知怎么去将文件分块 然后查了一下 发现引入文件确实与传统的html不一样 总结了一下分别引入组件
  • TM1638芯片 LED数码管驱动器 详细介绍

    相比MAX7219 TM1638的操作更加复杂 但是功能也更加强大 目录 TM1638简介 器件特性 TM1638引脚图 引脚功能说明 TM1638地址组 显存地址 键值地址 TM1638指令表 指令分类 数据命令 地址命令 显示控制命令
  • 多个前端项目部署在nginx中同一个server下

    多个前端项目部署在同一个域名下 在vue config js中设置 publicPath web 在路由index js中设置 base web 在index html中加入 修改NGINX设置 基本就是使location 指向原来的web
  • 日本传统色彩大全

    古代紫 895b8a 茄子紺 824880 二藍 915c8b 京紫 9d5b8b 蒲葡 7a4171 若紫 bc64a4 紅紫 b44c97 梅紫 aa4c8f 菖蒲色 cc7eb1 紅藤色 cca6bf 浅紫 c4a3bf 紫水晶 e7
  • 同时配置cuda11.0和11.1环境

    同时配置cuda11 0和11 1环境 背景 思路 流程 电脑环境确认 确认位置 安装新CUDA环境 1 执行cuda exe 2 配置环境变量 安装cudnn 背景 在电脑上安装多个版本的cuda 电脑已经安装好了cuda11 0 由于m
  • 青蛙跳台阶(java)

    一 问题描述 一只青蛙一次可以跳上1级台阶 也可以跳上2级 求该青蛙跳上一个n级的台阶总共有多少种跳法 二 算法分析 因为青蛙一次只能跳上1级台阶或者两级台阶 所以对于第n级台阶来说 青蛙只能从第n 1级台阶或者第n 2级台阶跳上 设青蛙跳
  • dnSpy反编译、部署调试记录

    一 概要 在工作当中 当程序部署了之后就算打了日志遇到极个别的特殊异常没有在程序日志中体现出来或者没有详细的报错原因会让开发者非常头疼 不得不盲猜bug到底出在哪里 这里分享一下工作上经常会用到的工具 这款工具可以反编译并运行调试已经部署好
  • 2023蓝桥杯 试题E:接龙数列

    include
  • PCB设计基础概念

    芯片电源 VCC 即接入电路的电压 VDD 即器件内部的工作电压 VSS 即电路公共接地端电压 GND 即电压参考基点 VEE 负电压供电 VPP 编程 擦除电压 V 与 V A的区别是 数字与模拟的区别 型滤波设计 晶体电路设计多采用 型
  • 国产开源大模型: 百亿参数“伶荔”,填补中文基础模型空白!

    Datawhale开源 团队 深圳大学沈琳琳教授团队 Linly 伶荔说 中文语言大模型来啦 大数据系统计算技术国家工程实验室副主任 深圳大学计算机与软件学院沈琳琳教授团队主持的人工智能项目 伶荔 Linly 于今天隆重推出 伶荔说 系列中
  • HashMap源码分析

    目录 hashmap1 8源码大纲 那么问题来了 hashmap的数据结构 为什么扩容长度必须是2的指数次幂也就是2的n次方 为什么加载因子是0 75 为什么数组转链表阈值是8 key能否为空 hashmap为什么线程不安全 hashmap
  • js与移动端交互

    1 js 调用移动端ios与android方法 2 移动端ios与android调用js方法 3 demo如下 div div