窗口尺寸
面板首次加载时,其尺寸将采用mnaddon.json中的 panelWidth 与 panelMaxHeight ,未填写时默认值分别为 380 和 560。
当窗口高度被更改后,MN 会对高度做如下处理:
maxContentHeight默认值为560,如果插件有 main.js 文件,可以通过代码修改此值:
main.js
顶部拖拽栏
需要注意的是,每个面板顶部都有一个 36px 高的拖拽条。因此在开发时最好不要在顶部放置可交互的 UI 元素。此高度也可以通过读取 CSS 变量--mn-drag-h 来获取。
更改窗口尺寸
- mn.height(h):修改页面高度。无动画
- mn.fit():将面板高度调整为
<html>的高度。页面加载完成后 MN 会自动调用一次,建议后续内容发生变化时再次调用。 - mn.size(w, h):同时指定面板宽度与高度。这是唯一可以修改宽度的接口。有过渡动画
面板模式
面板有workspace与 mini两种模式。建议按此为插件设计两种大小的样式。
更改面板模式
mn.mode(m) 只修改模式的标记,不改变面板尺寸。因此只调用 mode 而不调用 size,窗口不会有任何变化,因此需要自行更改窗口大小
- 修改
<html>元素的data-mode属性 - 修改
mn.currentMode
适配两种模式
适配面板模式可以用样式区分。因为MN 会修改data-mode 属性,可以利用 CSS 的方式进行自动适配:
mn.currentMode ,或在根元素上挂载MutationObserver,来监听 data-mode 的变化。
关闭与重载
可以通过调用mn.close()与mn.reload() 来关闭与重载插件面板,这将丢失内存中的所有数据。