剪贴板

复制内容到系统剪贴板(无flash)

非 Y 不嫁゛ 提交于 2019-12-27 18:08:15
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> IE 直接使用 clipboardData 即可: window.clipboardData.setData('Text', text); 其它浏览器 可以尝试 execCommand('copy') ,该命令支持IE 10+,chrome 43+,firefox 41+,opera 29+ // 第一步:创建一个隐藏的文本域 $('<div id="s-clipboard-container"><textarea id="s-clipboard"></textarea></div>').appendTo('body'); // 第二步:将待复制的内容置入此文本域,并全选 $('#s-clipboard').val(text).focus().select(); // 第三步:执行copy命令 try { // 此API可能不好使 document.execCommand('copy'); } catch (err) { console.log(err); } // 第四步:清空文本域(可选) $('#s-clipboard').text(''); 附相关css: #s-clipboard-container {opacity: 0;position: absolute;top: -10000px;right:

Vim多行缩进技巧

偶尔善良 提交于 2019-12-23 04:26:19
在vim中快速复制粘贴多行 用vim写代码时,经常遇到这样的场景,复制多行,然后粘贴。 这样做: 1. 将光标移动到要复制的文本开始的地方,按 v 进入可视模式。 2. 将光标移动到要复制的文本的结束的地方,按y复制。此时vim会自动将光标定位到选中文本的开始的地方,并退出可视模式。 3. 我移动光标到文本结束的地方,按 p 粘贴。 一、多行 dd 删除一行 ndd 删除以当前行开始的n行 dw 删除以当前字符开始的一个字符 ndw 删除以当前字符开始的n个字符 d$、D 删除以当前字符开始的一行字符 d) 删除到下一句的开始 d} 删除到下一段的开始 d回车 删除2行 二、复制多行 任务:将第9行至第15行的数据,复制到第16行 方法1 :(强烈推荐) :9,15 copy 16 或 :9,15 co 16 由此可有: :9,15 move 16 或 :9,15 m 16 将第9行到第15行的文本内容到第16行的后面 方法2: 光标移动到结束行,ma 光标移动到起始行,输入y'a 光标移动到需要复制的行,输入p,行前复制则输入大写P 方法3: 把光标移到第9行 shift + v 再把光标移动到第15行 ctrl + c 再把光标死去到第16行 p mysql 方法4: 光标移动到起始行,输入ma 光标移动到结束行,输入mb 光标移动到粘贴行,输入mc 然后输入:'a,'b,

为RichTextBox添加快捷功能菜单(复制, 剪切,粘贴,全选)

好久不见. 提交于 2019-12-20 10:14:39
实现该菜单功能主要有两种方法: 第一种: 通过发送击键到应用程序来实现。 先焦点定位到当前活动的RichTextBox,然后再通过发送击键命令来实现操作功能 richTextBox1.Focus(); SendKeys.Send("^a");//全选 SendKeys.Send("^c");//复制 SendKeys.Send("^x");//剪切 SendKeys.Send("^v");//粘贴 第二种:直接通过命令操作剪贴板实现 //复制 Clipboard.SetData(DataFormats.Rtf, richTextBox1.SelectedRtf);//复制RTF数据到剪贴板 //剪切 Clipboard.SetData(DataFormats.Rtf, richTextBox1.SelectedRtf);//复制RTF数据到剪贴板 richTextBox1.SelectedRtf="";//再把当前选取的RTF内容清除掉,当前就实现剪切功能了. //粘贴 richTextBox1.Paste();//把剪贴板上的数据粘贴到目标RichTextBox //全选(其中全选又有两种方式) richTextBox1.Focus();//设置先焦点定位到当前活动的RichTextBox,这一句很重要,否则它不能正确执行 //另一种则是通过Select(int start

在Bash脚本中管道往返剪贴板

▼魔方 西西 提交于 2019-12-17 20:38:28
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 是否可以在Bash中管道进出剪贴板? 无论是与设备手柄之间的管道连接还是使用辅助应用程序,我找不到任何东西。 例如,如果 /dev/clip 是链接到剪贴板的设备,我们可以这样做: cat /dev/clip # Dump the contents of the clipboard cat foo > /dev/clip # Dump the contents of "foo" into the clipboard #1楼 复制并粘贴到Windows中的剪贴板(Cygwin): 看到: $ clip.exe - ? CLIP描述:将命令行工具的输出重定向到Windows剪贴板。 然后可以将此文本输出粘贴到其他程序中。 参数列表:/? 显示此帮助消息。 示例:DIR | CLIP将当前目录列表的副本放入Windows剪贴板。 CLIP <README.TXT将readme.txt中的文本副本放在Windows剪贴板上。 还存在getclip(可以代替shift + ins!),putclip(echo oaeuoa | putclip.exe把它放到剪辑中) #2楼 这是一个随时可用的bash脚本,用于读取可在多个平台上运行的剪贴板。 如果您添加功能(例如更多平台),请在此处编辑脚本。 #!/bin/bash #

js实现复制内容到剪贴板

让人想犯罪 __ 提交于 2019-12-07 19:42:25
一、 原生js实现,电脑可以用,手机不可以用    1. 必须是 input元素 才可以使用     <input id="code" type="text" value="www">     <span class="copy-btn" v-on:click="copy">复制</span>     //获取input并执行选中     document.getElementById('code').select();     //执行documen的copy事件     document.execCommand('copy'); 二、clipboard.js 实现,电脑、手机都可以用 https://github.com/zenorocha/clipboard.js    1. input、div 任何元素都可以使用     <span id="code">123456</span>      <span class="copy-btn" data-clipboard-target="#code" v-on:click="copy">复制</span>     let clipboard = new ClipboardJS('.copy-btn');     clipboard.on('success', function(e) {       //复制成功      

VC/MFC中常用消息总结

廉价感情. 提交于 2019-12-07 10:46:28
CButton::Create BOOL Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID ); 动态创建一个按纽 LPCTSTR lpszCaption 按纽文字 DWORD dwStyle 按纽样式,常选用BS_DEFPUSHBUTTON表示下压式按纽, 控件本身也是窗口,因此还具有窗口类型,如让控件创建后即可见,可给控件WS_VISIBLE, 通常还具有WS_CHILD属性 const RECT& rect 矩形区域,可以是CRect类型,也可是Rect结构体。可直接由CRect构造,如CRect (0,0,10,10).。 CWnd* pParentWnd 为父窗口指针,若消息响应在父类中,可直接用this指针。UINT nID 可随便给(只能为数字?)。 注意用此函数时需判断该控件是否已与该控件窗口已关联,因为若关联两次会出现错误,动态创建控件好象只能创建一个控件。 CWnd::GetDlgItem CWnd* GetDlgItem( int nID ) const; 用此函数可通过控件ID获得指定控件的指针,一般此函数用于一个对话框类中。 CWnd::GetWindowText int GetWindowText( LPTSTR

JavaScript 复制内容到剪贴板

痞子三分冷 提交于 2019-12-06 19:18:34
JavaScript复制内容到剪贴板 常用方法 查了一下万能的Google,现在常见的方法主要是以下两种: 第三方库:clipboard.js 原生方法:document.execCommand() 分别来看看这两种方法是如何使用的。 clipboard.js 这是clipboard的官网: https://clipboardjs.com/ ,看起来就是这么的简单。 引用 直接引用: <script src="dist/clipboard.min.js"></script>或者,包 npm install clipboard --save import Clipboard from 'clipboard'; 使用 <input id="demoInput" value="hello world"> <button class="btn" data-clipboard-target="#demoInput">点我复制</button> 1 import Clipboard from 'clipboard'; 2 const btnCopy = new Clipboard('btn');3 this.copyValue = 'hello world'; 小结 文档中还提到,如果在单页面中使用 clipboard ,为了使得生命周期管理更加的优雅,在使用完之后记得 btn.destroy

Chrome 66 新增异步剪贴板 API

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-06 06:50:41
在过去的几年里我们只能使用 document.execCommand 来操作剪贴板。不过,这种操作剪贴板的操作是同步的,并且只能读取和写入 DOM。 现在 Chrome 66 已经支持了新的 Async Clipboard API ,作为 execCommand 替代品。 这个新的 Async Clipboard API 还可以使用 Promise 来简化剪贴板事件并将它们与 Drag-&-Drop API 一起使用。 演示视频: https://zhuanlan.zhihu.com/p/... 复制:将文本写入剪贴板 writeText() 可以把文本写入剪切板。 writeText() 是异步的,它返回一个 Promise: navigator.clipboard.writeText('要复制的文本') .then(() => { console.log('文本已经成功复制到剪切板'); }) .catch(err => { // This can happen if the user denies clipboard permissions: // 如果用户没有授权,则抛出异常 console.error('无法复制此文本:', err); }); 还可以使用 异步函数 的 async 和 await : async function copyPageUrl() { try

JAVASCRIPT复制到剪贴板

微笑、不失礼 提交于 2019-12-04 09:48:38
来源: 我的博客 最近答应张先生替 42qu 写一个短址服务,写的过程中学到若干新东西,JS操作剪贴板便是其中一例。 Javascript本身当然提供了操作剪贴板的接口,一般长得像 function copyToClipboard(text) { if (window.clipboardData) // IE { window.clipboardData.setData("Text", text); } else { unsafeWindow.netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); const clipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper); clipboardHelper.copyString(text); } } 但是,由于各家对于安全这一字眼的认知存在差异,因此,这些既存接口用起来需要勇气——破罐子破摔的勇气。 于是,我浏览了 StackOverFlow上的讨论 ,其中提到的使用flash hack看起来像是目前最完美解决方案,于是,我开始了

Spring3.1新属性管理API:PropertySource、Environment、Profi

爱⌒轻易说出口 提交于 2019-12-04 07:24:15
Spring3.1提供了新的属性管理API,而且功能非常强大且很完善,对于一些属性配置信息都应该使用新的API来管理。虽然现在Spring已经到4版本了,这篇文章来的晚点。 新的属性管理API PropertySource :属性源,key-value属性对抽象,比如用于配置数据 PropertyResolver :属性解析器,用于解析相应key的value Environment :环境,本身是一个PropertyResolver,但是提供了Profile特性,即可以根据环境得到相应数据(即激活不同的Profile,可以得到不同的属性数据,比如用于多环境场景的配置(正式机、测试机、开发机DataSource配置)) Profile :剖面,只有激活的剖面的组件/配置才会注册到Spring容器,类似于maven中profile 也就是说,新的API主要从配置属性、解析属性、不同环境解析不同的属性、激活哪些组件/配置进行注册这几个方面进行了重新设计,使得API的目的更加清晰,而且功能更加强大。 PropertySource key-value对,API如下所示: 查看 复制到剪贴板 打印 public String getName() //属性源的名字 public T getSource() //属性源(比如来自Map,那就是一个Map对象) public boolean