Активация скрипта после нажатии на клавишу
Здравствуйте.
Создал скрипт для изминения названия спойлеров в одном сайте. Вот собственно и код: var all_toggle_elements=document.getElementsByClassName("toggle"); for(var i=0;i<all_toggle_elements.length;i++){ if(all_toggle_elements[i].tagName.toLowerCase()!="div") continue; element1 = all_toggle_elements[i].getElementsByClassName("date")[0]; element2 = all_toggle_elements[i].getElementsByClassName("formRow last")[0].getElementsByClassName("oneFour")[0].getElementsByTagName("span")[0]; element3 = all_toggle_elements[i].getElementsByClassName("formRow last")[0].getElementsByClassName("oneFour")[1].getElementsByTagName("span")[0]; element4 = all_toggle_elements[i].getElementsByClassName("formRow last")[1].getElementsByClassName("oneFour")[1].getElementsByTagName("span")[0]; element5 = all_toggle_elements[i].getElementsByClassName("formRow last")[1].getElementsByClassName("oneFour")[2].getElementsByTagName("span")[0]; element6 = all_toggle_elements[i].getElementsByClassName("formRow")[0].getElementsByClassName("oneFour")[0].getElementsByTagName("span")[0]; element7 = all_toggle_elements[i].getElementsByClassName("title closed")[0].getElementsByTagName("h6")[0]; element8 = all_toggle_elements[i].getElementsByClassName("formRow last")[2].getElementsByClassName("oneFour")[2].getElementsByTagName("span")[0]; element1.innerHTML=element8.innerHTML+" "+element2.innerHTML+" дней "+element3.innerHTML+" ("+element4.innerHTML+")-("+element5.innerHTML+") "+element6.innerHTML; element7.innerHTML="Информация"; } Мне нужно чтобы этот скрипт активировался не сам, так как как только сайт загружаеться то скрипт работает А нужно например сидеть на сайте, нажать "Alt+F" и только чтобы тогда скрипт работал. Скажем так чтобы его "активировать". |
ищем ответ тут - https://learn.javascript.ru/keyboard-events
|
Незнаю в чём дело(
Так оаботает: function runOnKeys(func) { var codes = [].slice.call(arguments, 1); var pressed = {}; document.onkeydown = function(e) { e = e || window.event; pressed[e.keyCode] = true; for (var j = 0; j < codes.length; j++) { // проверить, все ли клавиши нажаты if (!pressed[codes[j]]) { return; } } // во время показа alert, если посетитель отпустит клавиши - не возникнет keyup // при этом JavaScript "пропустит" факт отпускания клавиш, а pressed[keyCode] останется true // чтобы избежать "залипания" клавиши -- обнуляем статус всех клавиш, пусть нажимает всё заново pressed = {}; func(); }; document.onkeyup = function(e) { e = e || window.event; delete pressed[e.keyCode]; }; } runOnKeys( function() { alert("Привет!") }, "Q".charCodeAt(0) ); Но как вместо алерта свой код ставлю то неработает( Мой код: function runOnKeys(func) { var codes = [].slice.call(arguments, 1); var pressed = {}; document.onkeydown = function(e) { e = e || window.event; pressed[e.keyCode] = true; for (var j = 0; j < codes.length; j++) { // проверить, все ли клавиши нажаты if (!pressed[codes[j]]) { return; } } // во время показа alert, если посетитель отпустит клавиши - не возникнет keyup // при этом JavaScript "пропустит" факт отпускания клавиш, а pressed[keyCode] останется true // чтобы избежать "залипания" клавиши -- обнуляем статус всех клавиш, пусть нажимает всё заново pressed = {}; func(); }; document.onkeyup = function(e) { e = e || window.event; delete pressed[e.keyCode]; }; } runOnKeys( var all_toggle_elements=document.getElementsByClassName("toggle"); for(var i=0;i<all_toggle_elements.length;i++){ if(all_toggle_elements[i].tagName.toLowerCase()!="div") continue; element1 = all_toggle_elements[i].getElementsByClassName("date")[0]; element2 = all_toggle_elements[i].getElementsByClassName("formRow last")[0].getElementsByClassName("oneFour")[0].getElementsByTagName("span")[0]; element3 = all_toggle_elements[i].getElementsByClassName("formRow last")[0].getElementsByClassName("oneFour")[1].getElementsByTagName("span")[0]; element4 = all_toggle_elements[i].getElementsByClassName("formRow last")[1].getElementsByClassName("oneFour")[1].getElementsByTagName("span")[0]; element5 = all_toggle_elements[i].getElementsByClassName("formRow last")[1].getElementsByClassName("oneFour")[2].getElementsByTagName("span")[0]; element6 = all_toggle_elements[i].getElementsByClassName("formRow")[0].getElementsByClassName("oneFour")[0].getElementsByTagName("span")[0]; element7 = all_toggle_elements[i].getElementsByClassName("title closed")[0].getElementsByTagName("h6")[0]; element8 = all_toggle_elements[i].getElementsByClassName("formRow last")[2].getElementsByClassName("oneFour")[2].getElementsByTagName("span")[0]; element1.innerHTML=element8.innerHTML+" "+element2.innerHTML+" дней "+element3.innerHTML+" ("+element4.innerHTML+")-("+element5.innerHTML+") "+element6.innerHTML; element7.innerHTML="Информация"; }, "Q".charCodeAt(0) ); |
я не знаю работает ли, но ошибок в консоли нету,
спрятал код потому что длинный))) function runOnKeys(func) { var codes = [].slice.call(arguments, 1); var pressed = {}; document.onkeydown = function(e) { e = e || window.event; pressed[e.keyCode] = true; for (var j = 0; j < codes.length; j++) { if (!pressed[codes[j]]) { return; } } pressed = {}; func(); }; document.onkeyup = function(e) { e = e || window.event; delete pressed[e.keyCode]; }; } runOnKeys( function() { var all_toggle_elements=document.getElementsByClassName("toggle"); for(var i=0;i<all_toggle_elements.length;i++){ if(all_toggle_elements[i].tagName.toLowerCase()!="div") continue; element1 = all_toggle_elements[i].getElementsByClassName("date")[0]; element2 = all_toggle_elements[i].getElementsByClassName("formRow last")[0].getElementsByClassName("oneFour")[0].getElementsByTagName("span")[0]; element3 = all_toggle_elements[i].getElementsByClassName("formRow last")[0].getElementsByClassName("oneFour")[1].getElementsByTagName("span")[0]; element4 = all_toggle_elements[i].getElementsByClassName("formRow last")[1].getElementsByClassName("oneFour")[1].getElementsByTagName("span")[0]; element5 = all_toggle_elements[i].getElementsByClassName("formRow last")[1].getElementsByClassName("oneFour")[2].getElementsByTagName("span")[0]; element6 = all_toggle_elements[i].getElementsByClassName("formRow")[0].getElementsByClassName("oneFour")[0].getElementsByTagName("span")[0]; element7 = all_toggle_elements[i].getElementsByClassName("title closed")[0].getElementsByTagName("h6")[0]; element8 = all_toggle_elements[i].getElementsByClassName("formRow last")[2].getElementsByClassName("oneFour")[2].getElementsByTagName("span")[0]; element1.innerHTML=element8.innerHTML+" "+element2.innerHTML+" дней "+element3.innerHTML+" ("+element4.innerHTML+")-("+element5.innerHTML+") "+element6.innerHTML; element7.innerHTML="Информация"; } }, "Q".charCodeAt(0) ); |
Нероботает(
Может там что-то не так? |
Цитата:
|
Вложений: 1
Цитата:
<div class="toggle"> <div class="title closed"> <img class="titleIcon" src="/images/icons/dark/pencil.png" alt=""> <h6>Информация о займе</h6> <div class="garant_state"> <img src="/images/garant_stat1.png" alt=""> </div> <div class="date">#23514012 29/05/2015г.</div> <a class="detailed-link" href="javascript" data-ofert_borrower="https://webtransfer-finance.com/ru/account/ofert-23514012.pdf" data-borrower_another="https://webtransfer-finance.com/ru/account/application_doc/0/5"> <img class="pdf_image" src="/images/note.png" title="Datailed docs" style="margin-top: 6px;margin-left: 10px;"> </a> <div class="buttons"> <span>Выставлена</span> <a class="delete_button" href="https://webtransfer-finance.com/ru/account/delete_invest/23514012" onclick="return yes_no_debit()"> <span>Удалить</span> </a> </div> </div> <div class="body"> <fieldset style="width:100%" class="blank_info"> <div class="formRow"> <label>Сумма </label> <div class="formRight"> <span class="oneFour out-summa" style="width:130px;font-size:15px;text-align:center;">$ 50.00<br><span style="font-size:11px">(Заемные)</span> </span> <span class="oneFour" style="width:130px;font-size:15px;"></span> <span class="oneFour" style="width:auto;"></span> </div> </div> <div class="formRow last"> <label>Детали Займа</label> <div class="formRight biger"> <span class="oneFour" style="width:130px;"> <span>21</span><br>Кол-во Дней </span> <span class="oneFour" style="width:135px;"><span>1.6%</span><br>Процент в сутки</span> <span class="oneFour" style="margin-right:0px;width:130px;"> <span>$ 66.80</span> <br>Сумма возврата</span> </div> </div> <div class="formRow last"> <label>Гарант (вкл) </label> <div class="formRight biger"> <span class="oneFour" style="width:130px;"><span>$ 16.80</span><br> </span> <span class="oneFour" style="width:135px;"> <span>$ 6.72 (-40%)</span><br> отчисление </span> <span class="oneFour" style="margin-right:0px;width:130px;"> <span> $ 60.08 </span> <br>вы получите </span> </div> </div> <div class="drop_down"> <div class="list_applications"> </div> </div> </fieldset> </div> </div> Сорри что без спойлера, незнаю как поставить. Дело в том что сам код работает(без активации на клавишу "Q") Кидаю два файла, мой код и мой код с клавишей "Q" |
Задание решено в личной переписке)))
|
Часовой пояс GMT +3, время: 14:45. |