Skip to content

JSExtension

你的插件主类必须通过 JSB.defineClass('MyAddon : JSExtension', ...) 继承 JSExtension,用于处理窗口/笔记本/文档的生命周期以及工具栏图标状态。

属性类型说明
windowUIWindow当前插件所在窗口。在实例方法内也可用 self.window
方法参数说明
sceneWillConnect()插件窗口即将创建时调用,可在此做 UI 初始化。
sceneDidDisconnect()插件窗口断开时调用。
sceneWillResignActive()窗口即将失去活跃时调用。
sceneDidBecomeActive()窗口变为活跃时调用。
notebookWillOpen(topicid)topicid: string某个笔记本即将打开时调用。
notebookWillClose(topicid)topicid: string某个笔记本即将关闭时调用。
documentDidOpen(docmd5)docmd5: string某文档已打开时调用。
documentWillClose(docmd5)docmd5: string某文档即将关闭时调用。
方法返回值/参数说明
queryAddonCommandStatus()NSDictionary | nullMarginNote 用来决定工具栏图标状态。必须返回包含 imageobjectselectorchecked 的对象;不显示图标可返回 null。
additionalTitleLinksOfNotebook(topicid)NSArray为指定笔记本提供额外标题链接。
viewControllerForTitleLink(titleLink)UIViewController根据标题链接返回对应视图控制器。
controllerWillLayoutSubviews(controller)controller: UIViewController指定控制器即将布局子视图时调用,可在此调整插件面板位置。
additionalShortcutKeys()NSArray返回插件提供的额外快捷键。
queryShortcutKey(command, keyFlags)NSDictionary查询某快捷键的状态。
processShortcutKey(command, keyFlags)处理快捷键按下。
方法说明
addonDidConnect()插件被 MarginNote 加载后调用。
addonWillDisconnect()插件即将卸载时调用。
applicationDidEnterBackground()应用进入后台时调用。
applicationWillEnterForeground()应用即将进入前台时调用。
applicationDidReceiveLocalNotification(notify)收到本地通知时调用。