Открытие новой вкладки на соседнем мониторе на Javascript
Добрейшего! Работаю на 2х мониторах. В обоих открыт chrome (двумя окнами, с отличными друг от друга наборами вкладок). На левом мониторе, в одной из вкладок есть кнопка, при нажатии которой, перехожу в карточку клиента. Для себя удобнее чтобы открывалась в новой вкладке. Сайт не мой, поэтому через расширение chrome (user js and css) добавил
onclick="window.open('https://www.amocrm.ru/', '_blank'")
Получилось так:
<button type="button" id="open_customer_card" onclick="window.open('https://www.amocrm.ru/', '_blank'");></button>
Вкладка разумеется открывается соседней вкладкой на левом мониторе.
Как сделать открытие этой вкладки на правом мониторе без перетаскивания вкладки с левого монитора, на правый монитор?
Ответы (1 шт):
Одной строкой кода не обойтись.
Окон браузера может быть и не два, по хорошему необходимо идентифицировать целевое окно для открытия определенных типов вкладок.
Примерный порядок операций:
- Реализация управления (либо одно/либо другое):
- создание Popup-окна с кнопками управления - масса возможностей
- click по значку расширения - onClicked
- Получение и установка целевого окна:
- получение windows.getCurrent()
- если это Popup - отправляем
Window.idв фоновый скрипт расширения runtime.sendMessage() - на этом этапе фиксируется целевой
Window.id, в том числе можно указать для чего этотid
- Скрипт контента по клику отправляет в фон необходимый
urlстраницыruntime.sendMessage()и, тем самым, заявляет о желании открыть Tab - Фон создает новую вкладку с заранее известным
Window.idиurlполученным от Tab-а tabs.create({windowId,...}, ...)
- При желании можно сразу и активировать этот Tab. При еще большем желании - управлять открытием/активацией/переходом(и даже установкой курсора в input-ы) разных типов вкладок в разных окнах.
- При отсутствии желания можно получить все имеющиеся окна, собственное окно Tab-а и открыть вкладку в
Window.id !== SelfWindow.id, если их всего 2. Правда кода особо меньше не станет.