最近需要开发一个Cocos Creator Monkey,Cocos Creator里面的内容是使用JavaScript编写的,所以需要获取JavaScript页面。ios在程序内获取javascript页面通常是利用JavaScriptCore(oc与js通信的方式之一)。
一、JavaScriptCore
JavaScriptCore是JavaScript的虚拟机,为JavaScript的执行提供底层资源。对于Safari,CocosCreator支持Safari调试协议,因为在Cocos Creator里面提供了一个JavaScriptCore引擎。
现在使用WebKit的主要两个浏览器Sfari和Chromium(Chorme的开源项目)。WebKit起源于KDE的开源项目Konqueror的分支,由苹果公司用于Sfari浏览器。其一条分支发展成为Chorme的内核,2013年Google在此基础上开发了新的Blink内核。
1、JavaScript引擎
JavaScript引擎是专门处理JavaScript脚本的虚拟机,一般会附带在网页浏览器之中。第一个JavaScript引擎由布兰登·艾克在网景公司开发,用于Netscape Navigator网页浏览器中。JavaScriptCore就是一个JavaScript引擎。
2、JavaScriptCore使用
JavaScriptCore是一个C++实现的开源项目。使用Apple提供的JavaScriptCore框架,你可以在Objective-C或者基于C的程序中执行Javascript代码,也可以向JavaScript环境中插入一些自定义的对象。JavaScriptCore从iOS 7.0之后可以直接使用。
//创建虚拟机
JSVirtualMachine *vm = [[JSVirtualMachine alloc] init];
//创建上下文
JSCo