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, время: 10:34. |