Przekazanie mouse move do innej karty chrome

Przekazanie mouse move do innej karty chrome
WA
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 5 lat
  • Postów:56
0

Cześć, załóżmy, że mam taki prosty kod:

Kopiuj
chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
    if (changeInfo.status === 'complete') {
        var host = tab.url;
        var reg = new RegExp("test", "gi");
        if(reg.test(host)) {
            chrome.tabs.executeScript(
                tabId,{
                    code:"$(window).on('mousemove', function(e) {var posX = e.pageX;var posY = e.pageY;console.log(posX);console.log(posY);});"
                },
                function(results) {
            });
        }
    }
});

Dzięki temu po załadowaniu strony i wykonywaniu eventu moousemove w konsoli wyświetlane są aktualne pozycje kursora.
Chciałbym teraz zrobić tak, by wywoływanie tego mousemove w tej karcie "przekazywane" było do innej karty, tzn. by wraz z tym, gdy na aktualnej karcie wykonuje mousemove to w innej karcie to mousemove także jest przechwytywane i też w konsoli wyświetlane są pozycje kursora, dokładnie te same. Prosiłbym o jakieś wskazówki na jakie funkcje, metody czy jakieś słowa kluczowe zwrócić uwagę, by takie coś wykonać.

abrakadaber
abrakadaber
  • Rejestracja:ponad 12 lat
  • Ostatnio:9 miesięcy
  • Postów:6610
0

z tego co wiem to nie ma takiej możliwości


Chcesz pomocy - pokaż kod - abrakadabra źle działa z techniką.
OM
  • Rejestracja:ponad 10 lat
  • Ostatnio:prawie 5 lat
  • Postów:100
1

Można to zrobić w Chromie i pewnie firefoxie (IE oczywiście nie wspiera) za pomocą BroadcastChannel API.
W jednej karcie:

Kopiuj
    const channel = new BroadcastChannel('send-mouse-position');

    document.addEventListener('mousemove', e => {
        channel.postMessage({ x: e.x, y: e.y });
    });

a w drugiej karcie:

Kopiuj
    const channel = new BroadcastChannel('send-mouse-position');
    channel.onmessage = e => {
        console.log(e.data);
    };

https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel

edytowany 1x, ostatnio: OverMorda

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.