iOS: JS和Native交互的两种方法】的更多相关文章

背景: UIWebView: iOS 用来展示 web 端内容的控件. 1. 核心方法: - (NSString*)stringByEvaluatingJavaScriptFromString:(NSString *)script; script 就是 JS 代码,返回结果为 js 执行结果. 比如一个 JS function 为 function testFunction(abc){ return abc; }; webview 调用此 JS 代码如下: NSString *js = @"te…
Android中H5和Native交互的两种方式:http://www.jianshu.com/p/bcb5d8582d92 注意事项: 1.android给h5页面注入一个对象(WZApp),这个对象是android挂到window上的,然后这个对象里有方法(user login),指定你需要传递什么参数. 2.这个参数里的数据应该是基本的数据类型,不应该是对象啥的,就是数字,字符串,json等基本数据结构. 3.这个对象是在android页面加载完成之后在挂载上去的~可以你调的时候还没有,需…
前言 创建元素有两种方法 1)将需要创建的元素,以字符串的形式拼接:找到父级元素,直接对父级元素的innnerHTML进行赋值. 2)使用Document.Element对象自带的一些函数,来实现动态创建元素(创建元素 => 找到父级元素 => 在指定位置插入元素) 一.字符串拼接形式 为了更好的理解,设定一个应用场景. 随机生成一组数字,将这组数据渲染为条形图的形式,放在div[id="container"]中,如下图 <div id="container…
//判断手机端操作系统(Andorid/IOS),并自动跳转相应下载界面 androidURL ="http://xxx/xxx.apk"; var browser = { versions: function() { var u = navigator.userAgent, app = navigator.appVersion; return { android: u.indexOf("Android") > -1 || u.indexOf("Li…
  js实现数组转置   第一种方法:   <script>     window.onload=function(){     var array1=[[11,22,33,333],[44,55,66,666],[77,88,99,999]];     var array2=new Array();     console.log(array1.length);//3     console.log(array1[0].length);//4     console.log(array1)…
第一种方法: function GetQueryString(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if(r!=null)return unescape(r[2]); return null;} 第二种方法: function getParamValue(…
var obj={name:'fuuf',age:19} 第一种,用.访问 obj.name 第二种 用[]访问 obj['name']  //此时name是字符串,要加引号 注意事项 使用第二种方法访问时,如果是变量是不需要加引号的,例如 for(var i in obj){ console.log(obj[i]);  //i作为变量,不需要加引号 } 访问对象的方法的时候,只能用.访问…
如下 定义了一个外部js文件,其中有一个function import lunaCommon from '../lunaCommon.js'; var ctx = wx.getStorageSync("ctx"); var filter = "/ms-code"; var apis = { //根据sc获取发货单 "findDispatchBill": function (data, success) { var url = ctx + filt…
js获取参数,在以前我都是用正在去拆分,然后获取,这种方式感觉是最简单的 方式1: function QueryString(item) { var sValue=location.search.match(new RegExp("[\?\&]"+item+"=([^\&]*)(\&?)","i")) return sValue?sValue[1]:sValue } //使用方法 //url=http://www.xxx.…
方法一 var character = new Array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P",&…
var reverse = function( str ){ var stack = [];//生成一个栈 for(var len = str.length,i=len;i>=0;i-- ){ stack.push(str[i]); } return join(''); }; reverse('hey there'); ## 另一种更为简便的方法 var reverse = function( str ){ return str.split('').reverse().join(''); };…
http://blog.csdn.net/libaineu2004/article/details/45368427 方法1:performSelectorOnMainThread[self performSelectorOnMainThread:@selector(updateUI:) withObject:image waitUntilDone:NO]; 方法2:dispatch_async(dispatch_get_main_queue(), ^{ ... }) dispatch_asyn…
百度了一圈calll()函数和apply()函数,感觉还是糊里糊涂 正好我前几天刚又重新翻了一遍 那本 600多页 的圣经书,我习惯时不时的去打下基础,只是为了用来装逼,给人讲解....(我是有多蛋疼)! 好了下面针对这个问题,我看好多小朋友 都不理解或者很迷惑,确实容易绕晕,毕竟是js独有的面向对象 嘛,你要一下理解了 才是不正常.开始: 先说call 这个东西 NO 1:我们先看一个简单的例子 1+1 = 2 你应该会吧 function add(a,b) { alert(a+b); } f…
1.什么是JS事件冒泡 在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最顶层,即document对象(有些浏览器是window).   2.阻止方法 方法一:event.stopPropagation( ) <div> <p>段落文本内容 &…
// 第一种 NSString *connID = ((Collector *)weakSelf.globalMutableArray[i]).orignalConnID; ] intValue]; NSRange bRange = {, }; const uint8_t b = [[connID substringWithRange:bRange] intValue]; NSRange cRange = {, }; const uint8_t c = [[connID substringWit…
1.通过点的方式 2.通过括号的方式 例: <input type="text" value="hello" id="text"/> var oText = document.getElementById("text") (1)通过点的方式   oText.property 注意的是:(a)点要查找的是JS中本来就存在的属性名,不能找到变量或者函数的参数,比如下面: var name = "value&q…
swap(&arr[fromIndexPath.row], &arr[to.row]) (arr[fromIndexPath.row],arr[to.row]) = (arr[to.row],arr[fromIndexPath.row])…
//截取字符串多余显示引号 var cutStrForNum = function (str, num) { var len = 0; for (var i = 0; i < str.length; i++) { if (str[i].match(/[^\x00-\xff]/ig) != null) //全角 len += 2; else len += 1; } if (len >= num) { newStr = str.substring(0, num) + "..."…
原文:http://blog.csdn.net/kylinbl/article/details/8972261 方法1:使用NSTimer来实现 主要使用的是NSTimer的scheduledTimerWithTimeInterval方法来每1秒执行一次timeFireMethod函数,timeFireMethod进行倒计时的一些操作,完成时把timer给invalidate掉就ok了,代码如下: secondsCountDown = 60;//60秒倒计时 countDownTimer = […
1.正则regExpForm.onblur=function(){ entryVal=this.value; entryLen=entryVal.length; cnChar=entryVal.match(/[^\x00-\x80]/g);//利用match方法检索出中文字符并返回一个存放中文的数组 entryLen =cnChar.length;//算出实际的字符长度 } \xhh,匹配的是一个十六进制字符hh.(注:h取值范围是0-9a-f) ^\x00-\x80(注意有个非) 是全角字符的…
import Vue from 'vue' import App from './App.vue' import router from './router' new Vue({ el: '#app', render: h => h(App), router }) 当使用eslint校验运行上面这段代码时(该代码在src/main.js文件中),会报错 ✘  http://eslint.org/docs/rules/no-new  Do not use 'new' for side effect…
现在app 上越来越多需求是通过UIWebView 来展示html 或者 html5的内容, js 和 native OC代码交互 就非常常见了. js 调用 native  OC代码 第一种机制 (1)最常用的是 利用 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationT…
js与native交互 UIWebView Native调用JS,使用stringByEvaluatingJavaScriptFromString来解释执行js脚本. //script即为要执行的js方法名称 - (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script; PS:苹果推荐iOS8之后的app使用WKWebView来代替UIWebView,同时也使用方法evaluateJavaScript:compl…
MyEclipse取消验证Js的两种方法 作者: 字体:[增加 减小] 类型:转载 通过js写一个web工程的相关页面时感觉很卡,修改内存也不行下面有两种解决方法,大家可以尝试下 前言:有时我们通过js写一个web工程的相关页面时感觉很卡,修改内存也不行下面有俩种解决方法: 1. 选中当前工程—properties—MyEclipse—validation—Excluded Resource下找到须要作废验证的文件或者文件夹就可以了. 2. 找到在项目路径下面的.project文件中配置了一些验…
转:获取网页URL地址及参数等的两种方法(js和C#) 一 js 先看一个示例 用javascript获取url网址信息 <script type="text/javascript"> document.write("location.host="+location.host+"<br>"); document.write("location.hostname="+location.hostname+&…
原生Js 两种方法实现页面关键字高亮显示 上网看了看别人写的,不是兼容问题就是代码繁琐,自己琢磨了一下用两种方法都可以实现,各有利弊. 方法一 依靠正则表达式修改 1.获取obj的html2.统一替换html标签3.替换要修改的关键字4.再把html标签修改回去不足就是如果查找的关键字跟替换的标签一样就有冲突了 效果预览:http://jsfiddle.net/dtdxrk/EAqkN/embedded/result/ 1 <!DOCTYPE HTML> 2 <html lang=&qu…
如果不小心把Router或者Switch的IOS删除了,特别是Flash中的IOS和ROM中的Mini IOS都没有了的话,连启动都不行的话,有什么方法恢复它呢?答案是方法不只一种,而是两种.其实是我只知道两种:) 第一种方法:X-Modem 以前我曾经尝试过一种方法,就是当Flash被删除后,启动无法进入系统,可以用X-Modem来恢复它.当时我不小心删除了一台Cisco2950交换机的Flash IOS,导致系统无法启动,在查过不少资料后得到一个结论:唯一的方法通过X-Modem来恢复.我的…
<script src="js/jQuery1.11.1.js" type="text/javascript"></script> <script type="text/javascript"> $(function(){ var lis=document.getElementsByTagName("li"); for (var i=0; i < lis.length; i++) {…
下面我给大家介绍的是原生js更改CSS样式的两种方式: 1通过在javascript代码中的node.style.cssText="css表达式1:css表达式2:css表达式3  "的方式直接更改CSS样式. 2先在CSS样式表中对特定的类如"active类"设置样式(这里的active类是假定的,暂时不存在),然后再在javascript代码中通过node.classname="active"使得CSS样式表中对active类的样式设置附加到…
随着各单位部门信息化进程的不断发展,互通互联.共享协调不断的被越来越多的客户所重视.很多新项目都要去必须能够集成已有的早期系统,至少也要能够实现交互对接.今天跟大家分享的是系统对接中ActionScript与JavaScript实现交互的两种方式,希望能够给大家的工作和学习带来一点帮助. A.ExternalInterface Flex提供的ExternalInterface 类包含了两个静态属性和两个静态方法.这些属性和方法可用于获取有关外部接口连接的信息,从 ActionScript 执行容…