такие как Key Wizard, могут освободить наши руки и помочь нам автоматически выполнять многие задачи. Во многих случаях это может значительно повысить производительность.
В этой статье будет продемонстрировано: Использование JavaScript для реализации «мастера кнопок» для демонстрации автоматического завершения щелчка, фокусировки, ввода и других операций.
Как показано на анимации выше, на странице автоматически выполняются следующие операции:
1. Нажмите две кнопки с интервалом в одну секунду.
2. Установите фокус на поле ввода.
3. Введите текст в поле ввода.
4. Нажмите, чтобы открыть окно; ссылка;
принцип. Это несложно, просто возьмите элемент и выполните клик, фокус и другие события.
Есть две трудности:
1. Для элементов без идентификатора и имени нельзя использовать getElementById и getElementByName. Как их найти.
Решение: используйте querySelectorAll для получения всех элементов на странице, а затем используйте сопоставление исходного кода, чтобы точно найти их. элементы. Код выглядит следующим образом:
2. Как установить задержку: После нажатия на местоположение подождите несколько секунд, прежде чем выполнять следующую операцию.
Решение: используйте setTimeOut и функции обратного вызова. Код выглядит следующим образом:
. В соответствии с описанными ранее принципами подготовьте функции щелчка, фокусировки и назначения следующим образом:
При вызове передайте исходный код, значение задержки и функцию обратного вызова.
То есть: воздействовать на элементы указанного исходного кода, затем задерживать на определенный период времени, а затем выполнять функцию обратного вызова.
Часть исходного кода можно получить в средстве просмотра страниц, как показано ниже:
приведен здесь, а также полный код приведенного выше примера. Сохраните его как html и запустите.
<html> <тело> <скрипт> document.body.addEventListener("click", function(e) { console.log('Нажмите:',e.originalTarget); }); </скрипт> <h1>Мастер кнопок версии JS</h1> <дел> 1. Кнопка:<br> <button style="width: 100px; height:100px;" onclick="alert('1 был нажат');">1</button> <button style="width: 100px; height:100px;" onclick="alert('2 был нажат');">2</button> <br> <br> 2. Поле ввода: <input type="text" value=""> <br> <br> 3. Ссылка: <a href="http://jshaman.com" target="iframe1">jshaman.com</a> <br> <iframe name="iframe1"></iframe> </div> <br> <час> <button onclick="fun1();">Начать автоматическое выполнение</button> <br> Выполните следующие действия по порядку:<br> 1. Нажмите первую и вторую кнопки 2. Установите фокус для поля ввода 3. Установите значение для поля ввода: abc 4. Щелкните ссылку; <br> </тело> <скрипт> //Событие клика//Параметры: //outer_html: исходный код элемента, по которому нужно щелкнуть //delay: задержка //call_back: функция обратного вызова function click(outer_html, Delay, call_back){ //Получаем все элементы страницы var all_elements = document.querySelectorAll('*'); //Обход элементов for(i=0; i<all_elements.length; i++){ //Находим элементы, соответствующие условиям if(all_elements[i].outerHTML==outer_html){ //Нажмите all_elements[i].click(); } } если (задержка && обратный вызов) { //Выполняем функцию обратного вызова setTimeout(call_back, Delay) через сколько миллисекунд прошло } }; //Устанавливаем фокус, то есть выбираем //Параметры: //outer_html: исходный код элемента //delay: задержка //call_back: функция обратного вызова function focus(outer_html, Delay, call_back){ //Получаем все элементы страницы var all_elements = document.querySelectorAll('*'); //Обход элементов for(i=0; i<all_elements.length; i++){ //Находим элементы, соответствующие условиям if(all_elements[i].outerHTML==outer_html){ //Установить фокус all_elements[i].focus(); } } если (задержка && обратный вызов) { //Выполняем функцию обратного вызова setTimeout(call_back, Delay) через сколько миллисекунд прошло } }; //Установка функции содержимого setvalue(outer_html, type, value, Delay, call_back){ //Получаем все элементы страницы var all_elements = document.querySelectorAll('*'); //Обход элементов for(i=0; i<all_elements.length; i++){ //Находим элементы, соответствующие условиям if(all_elements[i].outerHTML==outer_html){ //Нажмите all_elements[i][type] = value; } } если (задержка && обратный вызов) { //Выполняем функцию обратного вызова setTimeout(call_back, Delay) через сколько миллисекунд прошло } }; //Нажмите кнопку function fun1(){ //Исходный код элемента, по которому нужно щелкнуть var external_html = `<button style="width: 100px; height:100px;" onclick="alert('1 был нажат');">1</button>`; нажмите (outer_html, 1000, fun2); } //Нажмите кнопку function fun2(){ //Исходный код элемента, по которому нужно щелкнуть var external_html = `<button style="width: 100px; height:100px;" onclick="alert('2 было нажато');">2</button>`; нажмите (outer_html, 1000, fun3); } //Установим фокус и значение для функции ввода fun3(){ //Исходный код элемента, по которому нужно щелкнуть var external_html = `<input type="text" value="">`; фокус (outer_html); setvalue(outer_html, «value», «abc», 1000, call_back_function) } //Нажмите ссылку на функцию call_back_function(){ var out_html = `<a href="http://jshaman.com" target="iframe1">jshaman.com</a>`; нажмите (out_html); console.log("Автоматический щелчок завершен") } </скрипт> </html>JavaScript с открытым и прозрачным
позволяет легко понять функциональную логику, а также может быть изменен по желанию. Если вы хотите повысить безопасность кода, вам следует защитить свой код с помощью шифрования. Например, вы можете использовать JShaman, профессиональный инструмент шифрования кода JavaScript. Код JavaScript в приведенном выше полном исходном коде после шифрования с помощью JShaman примет следующую форму, и на его использование это никак не повлияет:
Примечание. Левая сторона — это исходный код, а правая — зашифрованный код.
Рекомендации по теме: [Видеоурок по JavaScript]
Цель вышеизложенного — научить вас использовать JavaScript для реализации «мастера кнопок»! Для получения более подробной информации, пожалуйста, обратите внимание на другие статьи по теме на китайском сайте php!