Проблема с программным JavaScript-копированием на iOS 12.2 - PullRequest
3 голосов
/ 18 апреля 2019

У меня есть приложение Phonegap с возможностью нажать кнопку, которая добавит текст в ваш буфер обмена.Это работало до тех пор, пока я не обновил свой телефон до iOS 12.2.

Я тестировал на других iPhone с iOS 12.2, и проблема там тоже.В симуляторе с 12.2 он, кажется, работает, поэтому я не совсем уверен, в чем проблема.

Я добавил код здесь, чтобы вы могли увидеть, как он работает.

Кто-нибудь знает, что не так?

window.Clipboard = (функция (окно, документ, навигатор) {var textArea, copy;

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
};

}) (окно, документ, навигатор);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...