JS нажатие ctrl+click
Доброе время суток. Подскажите JS код, при котором будут нажаты (ctrl + click) данные 4 ячейки со ссылками одновременно. Должны быть открыты новые вкладки.
<tr role="row" id="0" tabindex="-1" class="ui-widget-content jqgrow ui-row-ltr" style="display: table-row;"><td role="gridcell" style="" title="Гугл" aria-describedby="list1_xcol171"><a class="OpenFormLink" href="https://google.com" target="blank">Гугл</a></td></tr> <tr role="row" id="1" tabindex="-1" class="ui-widget-content jqgrow ui-row-ltr" style="display: table-row;"><td role="gridcell" style="" title="Маил" aria-describedby="list1_xcol171"><a class="OpenFormLink" href="https://mail.ru" target="blank">Маил</a></td></tr> <tr role="row" id="2" tabindex="-1" class="ui-widget-content jqgrow ui-row-ltr" style="display: table-row;"><td role="gridcell" style="" title="Яндекс" aria-describedby="list1_xcol171"><a class="OpenFormLink" href="https://yandex.ru" target="blank">Яндекс</a></td></tr> <tr role="row" id="3" tabindex="-1" class="ui-widget-content jqgrow ui-row-ltr" style="display: table-row;"><td role="gridcell" style="" title="Рамблер" aria-describedby="list1_xcol171"><a class="OpenFormLink" href="https://www.rambler.ru/" target="blank">Рамблер</a></td></tr> |
Жмите Ctrl и кликайте
<table> <tr role="row" id="0" tabindex="-1" class="ui-widget-content jqgrow ui-row-ltr" style="display: table-row;"><td role="gridcell" style="" title="Гугл" aria-describedby="list1_xcol171"><a class="OpenFormLink" href="https://google.com" target="blank">Гугл</a></td></tr> <tr role="row" id="1" tabindex="-1" class="ui-widget-content jqgrow ui-row-ltr" style="display: table-row;"><td role="gridcell" style="" title="Маил" aria-describedby="list1_xcol171"><a class="OpenFormLink" href="https://mail.ru" target="blank">Маил</a></td></tr> <tr role="row" id="2" tabindex="-1" class="ui-widget-content jqgrow ui-row-ltr" style="display: table-row;"><td role="gridcell" style="" title="Яндекс" aria-describedby="list1_xcol171"><a class="OpenFormLink" href="https://yandex.ru" target="blank">Яндекс</a></td></tr> <tr role="row" id="3" tabindex="-1" class="ui-widget-content jqgrow ui-row-ltr" style="display: table-row;"><td role="gridcell" style="" title="Рамблер" aria-describedby="list1_xcol171"><a class="OpenFormLink" href="https://www.rambler.ru/" target="blank">Рамблер</a></td></tr></table> |
Что-то вроде этого?
window.onload = function(){ var arr = document.querySelectorAll('.jqgrow'); for(var i = 0; i < arr.length; i++){ arr[i].addEventListener('click', myFunc); } } function myFunc(e) { if (e.ctrlKey) { window.open('https://google.com'); window.open('https://mail.ru'); window.open('https://yandex.ru'); window.open('https://www.rambler.ru/'); }; } |
Цитата:
$(document).ready(function(){ window.setTimeout(function () { $('td:contains("Гугл")').find('a')[0].click(); },1000) window.setTimeout(function () { $('td:contains("Майл")').find('a')[0].click(); },1000) window.setTimeout(function () { $('td:contains("Яндекс")').find('a')[0].click(); },1000) window.setTimeout(function () { $('td:contains("Рамблер")').find('a')[0].click(); },1000) }); Но только не могу эмитировать ctrl+click. |
Подскажите пожалуйста куда копать. Не получается открыть последовательно вкладки, открывается 1 страница. Можно даже без CTRL.
|
Не получится. Браузер блокирует всплывающие окна, если они открываются без действия пользователя.
|
По умолчанию да, но в настройках браузера это можно разрешить. По факту происходит имитация нажатия на ячейку со ссылкой, как я понимаю как будто сам пользователь это делает.
|
Не получилось открывать новые вкладки с помощью ctrl + click. Сделал костыль: закрывает текущую вкладку, открывает ссылки из списка и последним открывает изначальную страницу. Вдруг кому-то пригодится.
function openLinkList(linkList) { for(var i = 0; i < linkList.length; i++) { var a = document.createElement("a"); a.href = linkList[i]; a.target="_blank" a.click(); } }; var linkList = [ "https://google.com", "https://mail.ru", "https://yandex.ru", window.location.href ]; window.close(); openLinkList(linkList); |
Часовой пояс GMT +3, время: 16:01. |