MOBFJSContext.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. //
  2. // MOBFJSContext.h
  3. // MOBFoundation
  4. //
  5. // Created by 冯 鸿杰 on 15/2/27.
  6. // Copyright (c) 2015年 MOB. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "MOBFJSTypeDefine.h"
  10. @class JSContext;
  11. /**
  12. * JavaScript上下文环境
  13. */
  14. @interface MOBFJSContext : NSObject
  15. /**
  16. * 获取默认的上下文环境
  17. *
  18. * @return JS上下文环境
  19. */
  20. + (instancetype)defaultContext;
  21. /**
  22. 初始化
  23. @param context JS上下文
  24. @return JS上下文
  25. */
  26. - (instancetype)initWithContext:(JSContext *)context;
  27. /**
  28. * 注册方法
  29. *
  30. * @param name 方法名称
  31. * @param block 方法执行
  32. */
  33. - (void)registerJSMethod:(NSString *)name block:(MOBFJSMethodIMP)block;
  34. /**
  35. * 调用方法
  36. *
  37. * @param name 方法名称
  38. * @param arguments 参数
  39. *
  40. * @return 返回值
  41. */
  42. - (NSString *)callJSMethod:(NSString *)name arguments:(NSArray *)arguments;
  43. /**
  44. * 加载插件
  45. *
  46. * @param path 插件脚本文件路径
  47. * @param name 插件名称
  48. */
  49. - (void)loadPluginWithPath:(NSString *)path forName:(NSString *)name;
  50. /**
  51. * 加载插件
  52. *
  53. * @param content 插件脚本内容
  54. * @param name 插件名称
  55. */
  56. - (void)loadPlugin:(NSString *)content forName:(NSString *)name;
  57. /**
  58. * 执行脚本
  59. *
  60. * @param script 脚本
  61. */
  62. - (void)runScript:(NSString *)script;
  63. @end