MOBFJSContext.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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 webview Web视图,如果传入视图带有委托处理,请在传入该参数前将委托设置,否则会导致Context无法正常工作。
  24. @return JS上下文
  25. */
  26. - (instancetype)initWithWebView:(UIWebView *)webview;
  27. /**
  28. 初始化
  29. @param context JS上下文
  30. @return JS上下文
  31. */
  32. - (instancetype)initWithContext:(JSContext *)context;
  33. /**
  34. * 注册方法
  35. *
  36. * @param name 方法名称
  37. * @param block 方法执行
  38. */
  39. - (void)registerJSMethod:(NSString *)name block:(MOBFJSMethodIMP)block;
  40. /**
  41. * 调用方法
  42. *
  43. * @param name 方法名称
  44. * @param arguments 参数
  45. *
  46. * @return 返回值
  47. */
  48. - (NSString *)callJSMethod:(NSString *)name arguments:(NSArray *)arguments;
  49. /**
  50. * 加载插件
  51. *
  52. * @param path 插件脚本文件路径
  53. * @param name 插件名称
  54. */
  55. - (void)loadPluginWithPath:(NSString *)path forName:(NSString *)name;
  56. /**
  57. * 加载插件
  58. *
  59. * @param content 插件脚本内容
  60. * @param name 插件名称
  61. */
  62. - (void)loadPlugin:(NSString *)content forName:(NSString *)name;
  63. /**
  64. * 执行脚本
  65. *
  66. * @param script 脚本
  67. */
  68. - (void)runScript:(NSString *)script;
  69. @end