这段时间翻了一番JavaScript的api,发现不少好的轮子,省去造的麻烦了。 解析字符串对象  我们都知道,JavaScript对象可以序列化为JSON,JSON也可以解析成对象,但是问题是如果出现了一个既不是JSON也不是对象的”东西”,转成哪一方都不方便,那么eval就可以派上用场 1. var obj = "{a:1,b:2}"; // 看起来像对象的字符串
2. eval("("+ o            
                
         
            
            
            
            场景1在原生app中经常会使用到H5页面,比如说电商中的活动页,一些电商中的详情页,等等...这些页面都有一个特点,那就是在未来修改的可能性,和一次性的几率特别的大。所以用H5的页面是最睿智的一种选择。 一旦使用了H5那么就少不了和原生开发的一些交互(Android, IOS)如下的方案能够帮助你解决。 其实现原理是原生在js的window对象中注入一个js方法,以备原生应用进行处罚触发,就和我们            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-10 13:04:24
                            
                                59阅读
                            
                                                                             
                 
                
                             
         
            
            
            
              JavaScript 是单线程的,这意味着任何两句代码都不能同时运行,它们得一个接一个来。在浏览器中,JavaScript 和其他任务共享一个线程,不同的浏览器略有差异,但大体上这些和 JavaScript 共享线程的任务包括重绘、更新样式、用户交互等,所有这些任务操作都会阻塞其他任务。一、事件的不足  对于那些执行时间很长,并且长时间占用线程的代码,我们通常使用异步来执行,但是又如何判断其是            
                
         
            
            
            
            常常有这样的场景,咱们开发出来的Native-APP需要在Web-APP中进行推广,比如在页面顶部来一张大Banner图片,亦或一张二维码。但往往我们都是直接给推广图片加了一个下载链接(App Store中的)。所以咱们来模拟一下用户的操作步骤:1、用户第一次访问Web-APP   a、点击Banner,进入到APP Store中对应的APP下载页   b、            
                
         
            
            
            
            网页(js)与oc(iOS)之间的方法调用及传值            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-05-26 22:18:55
                            
                                350阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Object对象生成实例对象var o = new Object()属性Object.prototype //返回原型对象方法Object.keys(o) //遍历对象的可枚举属性Object.getOwnPropertyName(o) //遍历对象不可枚举的属性对象实例的方法valueOf // 返回当前对象对应的值。toString&            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-06 20:22:54
                            
                                78阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            以前写的一篇 关于H5与App原生交互方案,很多人问有没有实例代码,今天来说一个对iOS与Android通用的代码实践实际场景场景:现在有一个H5活动页面,上面有一个登陆按钮,要求点击登陆按钮以后,唤出App内部的登录界面,当登录成功以后将用户的手机号返回给H5页面,显示出来。这个场景应该算是比较完整的一次H5中的JavaScript与App原生代码进行交互了,这个过程,我们制定的方案满足以下几点            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-02 20:56:07
                            
                                169阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            JS与原生OC的三种交互方式大家在做项目的时候应该也遇到过需要h5与OC之间通信,来实现某种特定的效果,于是我总结一下最近用到过的这两者之间的交互的方式(当然现在还有很多其他的交互方式,比如使用其他第三方的组件等等):通过在UIWebView的代理方法里拦截URL实现通过OC自带的JavaScriptCore.framework来实现通过ajax方式拦截url来实现首先来说一下目前最常见的第一种方            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-11 07:08:01
                            
                                80阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            下来我们看第二种情况 就是js 中是通过一个对象来调用方法的。此处稍微复杂一点我们需要使用到JSExport凡事添加了JSExport协议的协议,所规定的方法,变量等 就会对js开放,我们可以通过js调用到 如果js是一个参数或者没有参数的话 就比较简单,我们的方法名和js的方法名保持一致即可比如: js方法为     
    1. testobject.TestOnePar            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-01 09:52:12
                            
                                73阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            ## iOS调用JS方法传参的流程
为了实现iOS调用JS方法并传递参数,需要经过以下步骤:
| 步骤 | 描述 |
| --- | --- |
| 1. 创建一个WKWebView对象 | WKWebView是iOS提供的用于显示网页内容的控件,它提供了与JavaScript交互的接口 |
| 2. 加载HTML网页 | 使用WKWebView的loadHTMLString方法加载包含Jav            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-09-28 04:55:34
                            
                                284阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一,android本地调用js的方法1,(包括有参和无参的情况)首先我们从本地加载一个HTML,webview = (WebView) findViewById(R.id.webview);
        // 启用javascript
        webview.getSettings().setJavaScriptEnabled(true);
        // 从assets目录下面            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-14 09:22:32
                            
                                58阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            //shareInfo 原生方法名var obj = {}if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {    window.webkit.messageHandlers.shareInfo.postMessage(JSON.stringify(obj)); //调用ios方法} else if (/(Android)/i.test(navigator.userAgent)) {  	window.android.shareIn            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-12 11:13:09
                            
                                695阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            最近在做移动端实现H5支付,需要与JS交互,实现状态提醒,参数传值等,在这里总结一下,以防一个月后又忘了〜,上一篇记录的app微信h5支付唤醒不了微信app,也是算一个bug有需要的可以去看一下先看下四中交互方式:(我用的第三种,现在都是在用wkwebview不建议用webview)1.拦截网址(适用于UIWebView和WKWebView)  2.JavaScriptCore(只适用于            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-16 22:44:47
                            
                                217阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            //shareInfo 原生方法名var obj = {}if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {    window.webkit.messageHandlers.shareInfo.postMessage(JSON.stringify(obj)); //调用ios方法}            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-01-25 11:13:17
                            
                                348阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            js代码和原生ios代码进行交互使用WebViewJavascriptBridge非常简化了我们的操作特别是在ios这边js 掉用ios原生代码时要注意的几个事项:1、js和ios定义好相互调用的各自要掉用对方的函数名2、ios中的操作:  a、创建一个bridge对象
self.bridge = [WebViewJavascriptBridge bridgeForWebView:webView]            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-05-31 18:09:17
                            
                                421阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # JS调用iOS原生方法带返回的实现指南
在现代移动应用开发中,JavaScript与原生代码的交互是非常常见的。例如,在iOS应用中,我们可以通过JavaScript调用Swift或Objective-C编写的原生方法,并获取返回值。本文将详细介绍如何实现这一过程。
## 交互流程
以下是JS调用iOS原生方法的基本流程:
| 步骤 | 说明 |
|------|------|
| 1            
                
         
            
            
            
            JS调用原生OC篇方式一(反正我不用)第一种方式是用JS发起一个假的URL请求,然后利用UIWebView的代理方法拦截这次请求,然后再做相应的处理。 我写了一个简单的HTML网页和一个btn点击事件用来与原生OC交互,HTML代码如下:<html>
    <header>
        <meta http-equiv="Content-Type" conten            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-17 21:24:06
                            
                                83阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            最近遇到很多编程题要求用原生JS操作DOM,由于Vue用了一段时间,原生JS的一些API有点生疏了,特别是使用JS修改元素的CSS属性,这里总结一下。获取DOM元素首先第一步就是先获取DOM元素,方法如下:// 获取单个元素
document.getElementById("xxx");
document.querySelector(".xxx");
// 获取多个元素,返回的是数组
docume            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-17 18:05:23
                            
                                159阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录WKWebView环境中的交互操作Web环境中注入JS代码JS调用原生方法原生调用JS方法WKWebView与原生交互实现之前分析了使用UIWebView与原生交互的实现方式,在iOS8.0之后apple建议开发者使用WKWebView来做web界面的加载展示,尤其是在iOS12.0之后已经开始废弃对UIWebView的更新支持,之所以apple开始推荐使用WKWebView的使用是因为WKW            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-16 13:33:24
                            
                                36阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            现在越来越多的APP都是H5和原生混合开发,这样确实方便快捷,但是H5的部分总避免不了很多与原生的交互,原生调JS函数还比较简单,原生的API函数stringByEvaluatingJavaScriptFromString就可以完成需求,但是JS调原生的函数,系统没有提供API,所以很多人公司都采用标记位的形式完成,我们公司的也不例外,项目开发了很久,原生和JS交互一直是我负责,我们项目这块也要大            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-05 22:44:48
                            
                                74阅读