«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как открыть новую вкладку в фоновом режиме, не переключая фокус?

Как открыть новую вкладку в фоновом режиме, не переключая фокус?

Опубликовано 8 ноября 2024 г.
Просматривать:129

How to Open a New Tab in the Background Without Switching Focus?

Открытие новой вкладки в фоновом режиме без переключения фокуса

В этом вопросе пользователь пытается открыть новую вкладку на отдельной вкладке не вызывая смещения фокуса на новую вкладку. Они демонстрируют попытку использования методов open() и focus(), но перед возвратом на текущую вкладку в Chrome на мгновение видят новую вкладку.

Однако предоставленный ответ представляет собой альтернативное решение с использованием события моделирование, чтобы обойти эту проблему.

Отправка настраиваемых событий

Ключ к достижению такого поведения заключается в динамическом создании элемента и присвоении его атрибута href желаемому URL-адрес. Впоследствии событие (в данном случае щелчок мыши) создается и инициализируется с определенными параметрами, включая модификатор клавиши «ctrl». Это эмулирует удержание клавиши «ctrl» при нажатии на ссылку, что является поведением по умолчанию для открытия новой вкладки в фоновом режиме.

Реализация

Приведенный код иллюстрирует этот метод:

function openNewBackgroundTab(){
    var a = document.createElement("a");
    a.href = "http://www.google.com/";
    var evt = document.createEvent("MouseEvents");
    //the tenth parameter of initMouseEvent sets ctrl key
    evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0,
                                true, false, false, false, 0, null);
    a.dispatchEvent(evt);
}

Вывод

Благодаря использованию моделирования событий это решение эффективно открывает новую вкладку в фоновом режиме, не затрагивая фокус текущей вкладки. Этот метод особенно полезен для расширений браузера или букмарклетов, где сохранение фокуса на текущей вкладке имеет решающее значение для бесперебойной работы пользователя.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3