@romanbiz said in Как снять снять галочки с элементов в интерфейсе?:
Снимается только с toolbar
Судя по тому, что эти чекбоксы неактивны, то скорее всего ни как, но момент занимательный
Прошерстил форум на наличиее решениия данной проблемы, нашел много постов где затрагивали это, но дельных решений в них мало.
Суть проста, нужно чтобы с кнопок сайта 'Копировать' значение уходило не в буфер а в переменную. На форуме я уже где-то видел перехватчик, даже один раз и использовал его, но работает он не на всех сайтах, вернее на большинстве не работает. Так что нужно какое-то аналогичное решение, но рабочее. Вобше странно почему такая функция до сих пор не появилась в самом басе(Со стороны обывателя кажется, что если бас легко воротит браузер как захочет, то сделать перехват буфера должно быть несложно).
Сразу отвечаю на рекомендации по типу: "В коде сайта можно найти все что нужно! Не знаете - значит вам рано". Нет, ребята, не все можно найти в коде. В даном случае кнопка копирует в буфер приватный ключ, и найти его в коде собственно не представляется возможным.
@hvrsh said in Как Копировать с кнопки "Копировать" в переменную а не в буфер обмена:
В даном случае кнопка копирует в буфер приватный ключ, и найти его в коде собственно не представляется возможным.
Можно повесить обработчик на событие по клику на элемент. Обработчик будет делать все, что тебе надо.
Отрицательный момент - сайт сможет понять этот финт ушами.
В коде я не сильно уверен, но должен работать:
<button id="copyButton">Click Me</button>
// Get the element with the specified id
const myButton = document.getElementById("myButton");
// Function to handle the click event
function handleClick() {
// Your event handling code here
console.log("Button clicked!");
// Capture the clipboard value
navigator.clipboard.readText()
.then(clipboardText => {
console.log("Clipboard content:", clipboardText);
// You can now work with the clipboardText as needed
})
.catch(error => {
console.error("Error reading clipboard:", error);
});
}
// Add a click event listener to the specific element
if (myButton) {
myButton.addEventListener("click", handleClick);
}
@sergerdn Попробовал так. Ноль реакции. Подставил свой js селектор в ваш код не заработало.
// Get the element with the specified id
const myButton = document.querySelector("#__next > button");
// Function to handle the click event
function handleClick() {
// Your event handling code here
console.log("Button clicked!");
// Capture the clipboard value
navigator.clipboard.readText()
.then(clipboardText => {
console.log("Clipboard content:", clipboardText);
// You can now work with the clipboardText as needed
})
.catch(error => {
console.error("Error reading clipboard:", error);
});
}
// Add a click event listener to the specific element
if (myButton) {
myButton.addEventListener("click", handleClick);
}
Ну пока нет встроенных средств, можно ведь перед нажатием кнопки ограничить доступ остальных потоков к буферу обмена? Чтобы потом спокойно нажать и получить буфер...
@Vituskosoy said in Как Копировать с кнопки "Копировать" в переменную а не в буфер обмена:
Ну пока нет встроенных средств, можно ведь перед нажатием кнопки ограничить доступ остальных потоков к буферу обмена? Чтобы потом спокойно нажать и получить буфер...
переопределите функции этого api на свои и все
как пример
navigator.clipboard.writeText = (data) => {
localStorage.setItem('clipboard', data)
}
navigator.clipboard.write = (data) => {
localStorage.setItem('clipboard', data)
}
@hvrsh said in Как Копировать с кнопки "Копировать" в переменную а не в буфер обмена:
@sergerdn Попробовал так. Ноль реакции. Подставил свой js селектор в ваш код не заработало.
// Get the element with the specified id const myButton = document.querySelector("#__next > button"); // Function to handle the click event function handleClick() { // Your event handling code here console.log("Button clicked!"); // Capture the clipboard value navigator.clipboard.readText() .then(clipboardText => { console.log("Clipboard content:", clipboardText); // You can now work with the clipboardText as needed }) .catch(error => { console.error("Error reading clipboard:", error); }); } // Add a click event listener to the specific element if (myButton) { myButton.addEventListener("click", handleClick); }
Что значит не заработало? Само событие отработало? Хоть какая-то строчка в логе появилась?
@UserTrue said in Как Копировать с кнопки "Копировать" в переменную а не в буфер обмена:
@Vituskosoy said in Как Копировать с кнопки "Копировать" в переменную а не в буфер обмена:
Ну пока нет встроенных средств, можно ведь перед нажатием кнопки ограничить доступ остальных потоков к буферу обмена? Чтобы потом спокойно нажать и получить буфер...
переопределите функции этого api на свои и все
как пример
navigator.clipboard.writeText = (data) => { localStorage.setItem('clipboard', data) } navigator.clipboard.write = (data) => { localStorage.setItem('clipboard', data) }
Этот вариант интереснее моего.