JavaScript这门所谓的脚本的语言,在两年前我从事Web开发的时候,还只是把它当做HTML中操作DOM元素来改变一些常见属性的工具。那时我对JavaScript的认识还很局限,如今随着HTML5的火爆,JavaScript被我重新认知,它作为动态语言的强大,V8引擎的优化以及配合CSS3构建移动端网站的优势让我欣喜。今天介绍下苹果的JavaScriptCore,以后有时间会专门写一个JavaScript的专题,包括JavaScript基础、动画等内容……
没认识JavaScriptCore之前,如果想在Object-c中使用JavaScript代码,一般都是在webview这个uikit中(webview内置webkit引擎,解析JavaScript代码),如下这段代码主要调用webview的stringByEvaluatingJavaScriptFromString:方法,将HTML中所有li标签里的href属性进行修改。
NSMutableString *mutableStr=[NSMutableString string]; [mutableStr appendString:@"var lis=document.getElementsByTagName('li');"]; [mutableStr appendString:@"for(var i=0;i<lis.length;i++){"]; [mutableStr appendString:@"var aHref=lis[i].children[0].href;"]; [mutableStr appendString:@"var startIndex=aHref.indexOf('(');"]; [mutableStr appendString:@"var endIndex=aHref.indexOf(')');"]; [mutableStr appendString:@"var newStr=aHref.substr(startIndex+2,endIndex-startIndex-3);"]; [mutableStr appendString:@"lis[i].children[0].href='objc-'+newStr;"]; [mutableStr appendString:@"}"]; [webView stringByEvaluatingJavaScriptFromString:mutableStr];