Javascript/Clipboard API/Safari iOS/NotAllowedError消息
我有个小问题。当我按下一个使用ajax请求将数据放入剪贴板的按钮时,我想在iOS设备上的剪贴板中添加一个文本 在我的桌面和安卓设备上使用浏览器,效果非常好,但在我的iOS设备上会出现问题Javascript/Clipboard API/Safari iOS/NotAllowedError消息,javascript,ios,api,safari,clipboard,Javascript,Ios,Api,Safari,Clipboard,我有个小问题。当我按下一个使用ajax请求将数据放入剪贴板的按钮时,我想在iOS设备上的剪贴板中添加一个文本 在我的桌面和安卓设备上使用浏览器,效果非常好,但在我的iOS设备上会出现问题 $.ajax({ type: "GET", url: "missing_string.php", data: getAttributes($(this)), success: function(data) {
$.ajax({
type: "GET",
url: "missing_string.php",
data: getAttributes($(this)),
success: function(data) {
if (navigator.clipboard) {
navigator.clipboard.writeText(data)
.then(() => {
alert("SUCCESS");
})
.catch(err => {
alert(err);
console.log('Something went wrong', err);
});
因此,我得到以下错误消息:
NotAllowedError:当前上下文中的用户代理或平台不允许该请求,可能是因为用户拒绝了权限
我怎样才能把我的文本放到剪贴板上?我使用的iOS 13.5和13.4应该支持剪贴板API。
TLDR:
该实现可通过navigator.clipboard
API获得,该API必须在用户事件中调用
您正试图通过API调用而不是在用户交互的上下文中复制到剪贴板。这是不允许的。
TLDR:
该实现可通过navigator.clipboard
API获得,该API必须在用户事件中调用
您正试图通过API调用而不是在用户交互的上下文中复制到剪贴板。这是不允许的
Async Clipboard API
WebKit brings the Async Clipboard API to this release of Safari...
you should read it