Есть php
, он при определённых событиях выводит button
.
printf('<button onclick="setclipboard()">Copy text</button>');
При нажатии на которую по идее должна срабатывать функция setclipboard()
.
А вот и она:
<script>
function setclipboard(){
navigator.clipboard.writeText("someText").then(function() {
//1
}, function() {
//2
});
}
</script>
Я пытаюсь сделать так, чтобы при нажатии на кнопку копировался текст "someText"
.
Но оно не работает. Почему? Что я делаю не так?
Функция setclipboard
видимо "не видна" из контекста вызова.
Попробуй так:
window.setclipboard = function () {
navigator.clipboard.writeText("someText").then(function () {
//1
}, function () {
//2
});
};
Для примера (Есть, к примеру, поле ввода, или любое другое поле):
<?php
$bz = "1"; // К примеру, есть переменная.
?>
<div>Отсюда копируем текст</div>
<input id="textForCopy">
<?php
if ($bz == "1"){ // Выполняем проверку. Если переменная = 1, то показываем кнопку, которая копирует текст в буффер обмена.
printf('<button onclick="setclipboard()">Copy text</button>');
}
?>
<div>Сюда вставляем текст из буффера</div>
<input>
<script language="JavaScript">
function setclipboard(){
let text = document.getElementById('textForCopy').value; // получаем введённый в поле текст
navigator.clipboard.writeText(text).then(function() { // Копируем текст в буффер обмена
//1
}, function() {
//2
});
}
</script>
Как это работает, когда есть кнопка:
function setclipboard(){
let text = document.getElementById('textForCopy').value;
navigator.clipboard.writeText(text).then(function() {
//1
}, function() {
//2
});
}
<div>Отсюда копируем текст</div>
<input id="textForCopy">
<button onclick="setclipboard()">Copy text</button>
<div>Сюда вставляем текст из буффера (Ctrl + v)</div>
<input>
Ответ нашелся. Дело в том что на хостинге где проводились тесты был http протокол. Судя по документации, для работы clipboard необходимо чтобы соединение было доверенным.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Новичок в js: Необходимо использовать переменные storeProducts(массив объектов) и detailProduct(конкретный объект) далее в программе, но они не видны за пределами...
Вопрос странныйЕсть ли в js встроенная хеш-функция для хеш таблиц? Искал информацию, не нашел
Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском
Не пойму, почему теряется стейт при отработке события, если я его, вроде, не мутирую