Есть ли способ имитировать события Touch на устройствах iOS, таких как iPad?IOS

Программируем под IOS
Ответить
Anonymous
 Есть ли способ имитировать события Touch на устройствах iOS, таких как iPad?

Сообщение Anonymous »

Я написал простой закладку с Auto-Clicker JavaScript, что: < /p>

Подсказки для кликов в секунду (CPS). < /li>
Слушает прикосновение на странице. «Нажимает» в этой позиции в течение x секунд в выбранном CPS. Я знаю, что javaScript - in - A - Bookmarklet имеет ограничения на iOS, но я все еще хотел бы имитировать реальное событие на сенсорном виде в координатах с поломки, а не находить конкретный элемент и призывать .click () на нем. PointerEvents: «Нет» в наложной красной точке.
изменяющая скорость и продолжительность CPS.
подтвержденные целевые элементы существуют и являются сенсорными интерактивными, и даже если они этого не делают, его все равно следует щелкать в этом месте. Есть ли способ сделать эту работу, или я попадаю в неразрывное ограничение? (Я знаю, что страницы браузера очень ограничены)let cps = parseInt(prompt("Enter clicks per second (CPS):"), 10);
if (isNaN(cps) || cps {
redDot.remove();
}, 1000);
}
function simulateTouch(x, y) {
const targetElement = document.elementFromPoint(x, y);

if (targetElement) {
const touchStartEvent = new Event('touchstart', { bubbles: true, cancelable: true });
touchStartEvent.touches = [{ clientX: x, clientY: y, target: targetElement }];
targetElement.dispatchEvent(touchStartEvent);
const touchEndEvent = new Event('touchend', { bubbles: true, cancelable: true });
touchEndEvent.changedTouches = [{ clientX: x, clientY: y, target: targetElement }];
targetElement.dispatchEvent(touchEndEvent);
}
}
let isAutoClicking = false;
function startAutoClicking(x, y) {
if (isAutoClicking) return;
isAutoClicking = true;
const interval = 1000 / cps; // Calculate interval based on CPS
const clickInterval = setInterval(() => {
simulateTouch(x, y);
}, interval);

// Stop clicking after 5 seconds to prevent continuous clicking
setTimeout(() => {
clearInterval(clickInterval);
isAutoClicking = false;
}, 5000);
}
document.addEventListener('touchstart', (e) => {
const touch = e.touches[0];
const x = touch.clientX;
const y = touch.clientY;
createRedDot(x, y);
startAutoClicking(x, y);
});

< /code>
версия Bookmarklet: < /h2>

javascript:(function()%7Blet%20cps=parseInt(prompt(%22Enter%20clicks%20per%20second%20(CPS)%3A%22),10);if(isNaN(cps)%7C%7Ccps%3C=0)%7Bcps=1;%7Dfunction%20createRedDot(x,y)%7Bconst%20redDot=document.createElement('div');redDot.style.position='absolute';redDot.style.width='10px';redDot.style.height='10px';redDot.style.backgroundColor='red';redDot.style.borderRadius='50%25';redDot.style.pointerEvents='none';redDot.style.left=%60$%7Bx-5%7Dpx%60;redDot.style.top=%60$%7By-5%7Dpx%60;document.body.appendChild(redDot);setTimeout(()=%3E%7BredDot.remove();%7D,1000);%7Dfunction%20simulateTouch(x,y)%7Bconst%20targetElement=document.elementFromPoint(x,y);if(targetElement)%7Bconst%20touchStartEvent=new%20Event('touchstart',%7Bbubbles%3Atrue,cancelable%3Atrue%7D);touchStartEvent.touches=%5B%7BclientX%3Ax,clientY%3Ay,target%3AtargetElement%7D%5D;targetElement.dispatchEvent(touchStartEvent);const%20touchEndEvent=new%20Event('touchend',%7Bbubbles%3Atrue,cancelable%3Atrue%7D);touchEndEvent.changedTouches=%5B%7BclientX%3Ax,clientY%3Ay,target%3AtargetElement%7D%5D;targetElement.dispatchEvent(touchEndEvent);%7D%7Dlet%20isAutoClicking=false;function%20startAutoClicking(x,y)%7Bif(isAutoClicking)return;isAutoClicking=true;const%20interval=1000/cps;const%20clickInterval=setInterval(()=%3E%7BsimulateTouch(x,y);%7D,interval);setTimeout(()=%3E%7BclearInterval(clickInterval);isAutoClicking=false;%7D,5000);%7Ddocument.addEventListener('touchstart',(e)=%3E%7Bconst%20touch=e.touches%5B0%5D;const%20x=touch.clientX;const%20y=touch.clientY;createRedDot(x,y);startAutoClicking(x,y);%7D);%7D)();%0A

< /code>
Есть ли какой -нибудь обходной путь для моделирования реального прикосновения или щелчка по произвольным координатам на iOS через JavaScript в закладках? Это предотвращает это?>

Подробнее здесь: https://stackoverflow.com/questions/790 ... ch-as-ipad
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»