我们正在开发一个包含文本编辑器的 Web 应用程序。它是用 HTML5 + Javascript 编写的。
我们成功地将自定义菜单添加到我们的网络应用程序中,但我们尚未成功添加 Google 文档中的复制和粘贴功能。据我们了解,这可以使用可以访问操作系统剪贴板的闪存来实现。然而,我们希望避免该技术并使用替代方案 - 我认为 Google 也不使用 Flash。
有人能给我们指出一种有效的替代方法吗?
Thanks.
W3C 有一个工作草案剪贴板API http://www.w3.org/TR/clipboard-apis/#fire-a-clipboard-event. 它还没有得到很大的支持 http://caniuse.com/#search=clipboard但将来可能会有用。您必须仔细查看不支持的内容。 W3C 规范中的一个示例看起来非常简单:
var pasteEvent = new ClipboardEvent('paste', { bubbles: true, cancelable: true, dataType: 'text/plain', data: 'My string' } );
document.dispatchEvent(pasteEvent);
An 文章来自MDN https://developer.mozilla.org/en-US/docs/Using_the_Clipboard似乎采取了不同的方法,使用XPCOM组件 https://developer.mozilla.org/en-US/docs/Creating_XPCOM_Components/Using_XPCOM_Components,但如果我没记错的话,这只适用于 FireFox。
然而,meewoK 链接到的答案可能最能说明问题。如果它是文本字段,您可以使用标准键盘命令(可能是人们复制/粘贴的最常见方式?)或操作系统的右键单击菜单(除非您在应用程序中覆盖它)。当您尝试通过“编辑”菜单访问剪贴板命令时,Google 文档当前执行的操作是显示一个模式,告诉您使用键盘命令:
就我个人而言,我会在关注剪贴板 API 的同时实现类似的东西。然后,当浏览器开始实现它时,您可以检测它的存在并覆盖该模式 http://en.wikipedia.org/wiki/Progressive_enhancement.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)