菜单界面及交互优化为了使菜单更加直观,我们在模板中定义了菜单的结构及样式:模板部分<div v-if="showContextMenu" class="<em>context-menu</em>" :style 样式设计.context-menu { position: absolute; background-color: #fff; border: 1px solid #ddd; border-radius : 4px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); z-index: 1000;}.context-menu ul { list-style: none ; margin: 0; padding: 0;}.context-menu li { padding: 10px 20px; cursor: pointer; transition: background-color 0.2s;}.context-menu li:hover { background-color: #f5f5f5;}这段样式保证了菜单的视觉清晰度,并在选项上增加了悬浮效果,提升用户体验。
也就是上边说到的那个方法,可以返回一个JSON对象供下次激活后使用 自定义快捷键对应的事件名: 每次Package被触发对应快捷键时都会执行的方法 menus 这里存放的是在应用菜单和编辑区域菜单栏的配置文件 { "context-menu "command": "first-package:toggle" } ] } ] } ] } context-menu 同样的,context-menu会区分两个环境,text-editor和workspace。 spec 这里存放的是一些测试用例,创建Package会生成一些默认的断言。 写测试确实是一个好习惯。
// @author Cooper// @match *://*/*// @grant none// @run-at context-menu// = // @author Cooper// @match *://*/*// @grant none// @run-at context-menu// = @run-at这个很关键,就是你的脚本的运行方式,我这里写的context-menu,代表的是右键运行。
也就是上边说到的那个方法,可以返回一个JSON对象供下次激活后使用 自定义快捷键对应的事件名: 每次Package被触发对应快捷键时都会执行的方法 menus 这里存放的是在应用菜单和编辑区域菜单栏的配置文件 { "context-menu "command": "first-package:toggle" } ] } ] } ] } context-menu menu则是出现在Atom主菜单栏上: image.png 同样的,context-menu会区分两个环境,text-editor和workspace。
批量打开多个网址,支持设置时间间隔// @author 喵喵侠// @match *://*/*// @grant none// @run-at context-menu 批量打开多个网址,支持设置时间间隔// @author 喵喵侠// @match *://*/*// @grant none// @run-at context-menu
@run-at 定义脚本的运行时机,支持 document-start, document-body, document-end, document-idle(default), context-menu
默认的文件如下,其中context-menu设置上下文菜单,也就是右键打开的菜单;menu设置菜单项中打开的菜单。 # See https://atom.io/docs/latest/hacking-atom-package-word-count#menus for more details 'context-menu
BrowserWindow.getAllWindows().length === 0) { createWindow(); }});webContents 事件// 控制右键操作wc.on('context-menu 1', click: function () { console.log(1111); } }, {role: 'editMenu'}]);// 控制右键操作 wc.on('context-menu
右键菜单的定位与交互<div v-if="showContextMenu" class="<em>context-menu</em>" :style="{ top: contextMenuPos.y +
mode */ .on-focus-mode blockquote { border-left-color: rgba(85, 85, 85, 0.12); } header, .context-menu background-color: var(--side-bar-bg-color); } .md-lang { color: #b4654d; } .html-for-mac .context-menu
// 如下代码来自ant-simple-pro import createContextMenu from '@/components/context-menu/create-context-menu'
事件被触发时或者之后注入 // @run-at document-idle // 当DOMContentLoaded事件被触发后被注入 如果没有@run-at标签也是在此时注入 // @run-at context-menu // 当点击浏览器上下文菜单时被注入(仅仅是桌面Chrome-based浏览器) // 注意:如果使用了context-menu @include和@exclude的变量都将被忽略,但是未来可能会改变
@run-at context-menu 如果在浏览器上下文菜单中单击该脚本(仅限基于 Chrome 的桌面浏览器),则会注入该脚本。
move: 'move', help: 'help', 'not-allowed': 'not-allowed', none: 'none', 'context-menu ': 'context-menu', progress: 'progress', cell: 'cell', crosshair: 'crosshair',
链接及状态 context-menu 指针下有可用内容目录。 help 指示帮助。 pointer 悬浮于连接上时,通常为手。 progress 程序后台繁忙,用户仍可交互 (与 wait 相反)。
-fx-font-size:12; } .zkh_MenuItem{ -fx-padding: 8 60 8 30; -fx-font-size:12; -fx-cursor:hand; } .context-menu
事件被触发时或者之后注入 // @run-at document-idle // 当DOMContentLoaded事件被触发后被注入 如果没有@run-at标签也是在此时注入 // @run-at context-menu // 当点击浏览器上下文菜单时被注入(仅仅是桌面Chrome-based浏览器) // 注意:如果使用了context-menu @include和@exclude的变量都将被忽略,但是未来可能会改变
'copy', // 复制操作 'alias', // 创建别名 'all-scroll', // 可滚动内容 'col-resize', // 列宽调整 'context-menu
有五个值可选:document-start:网页开始时;document-body:body出现时;document-end:载入时或者之后执行;document-idle:载入完成后执行,默认选项;context-menu
有五个值可选:document-start:网页开始时;document-body:body出现时;document-end:载入时或者之后执行;document-idle:载入完成后执行,默认选项;context-menu