在iOS 12.2上以编程方式执行JavaScript复制的问题

时间:2019-04-18 11:32:43

标签: javascript ios safari

我有一个Phonegap应用,可以单击一个按钮,该按钮会将一些文本添加到剪贴板。在我将手机升级到iOS 12.2之前,一直没有解决问题。

我已经在其他装有iOS 12.2的iPhone上进行了测试,问题也在那里。在带有12.2的模拟器中,它似乎可以正常工作,所以我不太确定问题出在哪里。

我在这里添加了代码,以便您查看其工作方式。

有人知道怎么了吗?

window.Clipboard =(function(window,document,navigator){     var textArea,         复制;

function isOS() {
    return navigator.userAgent.match(/ipad|iphone/i);
}

function createTextArea(text) {
    textArea = document.createElement('textArea');
    textArea.readOnly = true;
    textArea.value = text;

    document.body.appendChild(textArea);
}

function selectText() {
    var range,
        selection;

    if (isOS()) {
        range = document.createRange();
        range.selectNodeContents(textArea);
        selection = window.getSelection();
        selection.removeAllRanges();
        selection.addRange(range);
        textArea.setSelectionRange(0, 999999);
    } else {
        textArea.select();
    }
}

function copyToClipboard() {  
    document.execCommand('copy');
    document.body.removeChild(textArea);
}

copy = function(text) {
    createTextArea(text);
    selectText();
    copyToClipboard();
};

return {
    copy: copy
};

})(窗口,文档,导航器);

0 个答案:

没有答案