【发布时间】:2019-01-27 08:19:19
【问题描述】:
我写了一个 Firefox 扩展来读取剪贴板,如果它有一些 PEM 证书,它会在新标签中打印它的详细信息。我正在尝试移植到 Chrome。这没用。我做错了什么?
我在 manifest.json 中请求了 clipboardRead,我在后台脚本中运行它,它在 Firefox 中运行良好。
navigator.clipboard.readText().then(function (textFromClipboard) {
//do stuff with textFromClipboard
});
这在 Chrome 中失败,并显示“无法在 'Clipboard' 上执行 'readText':非法调用”。我究竟做错了什么?我怎样才能在 Chrome 中也能做到这一点?大多数答案涉及创建输入、获得焦点、执行粘贴。这真的很复杂,我希望我不必这样做。在火狐上运行得很好,为什么在 Chrome 里就复杂了?
【问题讨论】:
-
不知道在扩展程序中,但 Chrome 允许仅通过脚本访问此 API,只要您的请求是 triggered by user activation:jsfiddle.net/on905kw6
-
所以我不能从后台脚本中做到这一点,对吧?该死的,这对我来说真的很复杂。为什么 Chrome 不支持 Firefox 在后台脚本中支持的漂亮剪贴板 API? :(
-
呃?我的意思是,您可能可以使用经典方法来做到这一点。
标签: google-chrome firefox google-chrome-extension firefox-addon-webextensions