1. Zanim zaczniesz
Desk Connector to funkcja ChromeOS, która umożliwia stronom internetowym programowy dostęp do wirtualnych biurek w ChromeOS. Z tego ćwiczenia w programie dowiesz się, jak używać oprogramowania Desk Connector z Narzędziach deweloperskich w Chrome.
Wymagania wstępne
- Omówienie wirtualnych biurek w ChromeOS.
Czego się nauczysz
- Jak ustawić właściwości okna.
- Jak uruchomić biurko.
- Jak usunąć biurko.
- Jak kupić aktywne biurko.
- Jak przełączyć się na inne biurko.
Czego potrzebujesz
- Chromebook
- ChromeOS w wersji 113.* lub nowszej. Jeśli nie masz jeszcze dostępu do danej wersji, przełącz się na kanał beta.
- Google Chrome
- Rozszerzenie Desk Connector Demo
2. Konfiguracja
Aby to zrobić:
- Kliknij tę stronę prawym przyciskiem myszy i wybierz Zbadaj.
- W panelu Narzędzi deweloperskich w Chrome kliknij Konsola. Cały kod z tego ćwiczenia z programowania uruchamiasz w panelu Konsola.
- (Opcjonalnie) W trakcie ćwiczeń z programowania możesz korzystać z wirtualnych biurek ręcznie. W tym celu naciśnij
F5
lub[]||
, aby włączyć tryb przeglądu.
3. Ustawianie właściwości okna
Interfejs API SetWindowProperties
umożliwia stronie internetowej automatyczne ustawianie właściwości okna. Ustawienie właściwości allDesks
na wartość true
powoduje przypięcie okna bieżącej karty do wszystkich biurek.
Aby ustawić właściwości okna, wykonaj te czynności:
- W panelu Konsola skonfiguruj okno tak, aby było widoczne na wszystkich biurkach:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "SetWindowProperties",
"operands": {
"allDesks": true
}
},
function(response) {
console.log(response);
}
);
- Ustaw ponownie okno tak, aby było widoczne na jednym biurku:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond",{
"messageType": "SetWindowProperties",
"operands": {
"allDesks": false
}
},
function(response) {
console.log(response);
}
);
- Przypnij okno jeszcze raz do wszystkich biurek, aby łatwiej to zademonstrować:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "SetWindowProperties",
"operands": {
"allDesks": true
}
},
function(response) {
console.log(response);
}
);
Jeśli masz na Chromebooku więcej niż jedno wirtualne biurko, teraz możesz zobaczyć bieżące okno na wszystkich biurkach.
4. Pobierz bieżące aktywne biurko
Interfejs API GetActiveDesk
umożliwia stronie internetowej automatyczne wysyłanie zapytań do bieżącego aktywnego biurka.
- Aby pobrać bieżące aktywne biurko, pobierz jego identyfikator i zapisz właściwość
deskUuid
w zmiennejbaseDesk
:
let baseDesk;
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "GetActiveDesk",
},
function(response) {
console.log(response);
if(response && response.operands) {
baseDesk = response.operands.deskUuid;
}
}
);
5. Uruchamianie biurka
Interfejs API LaunchDesk
umożliwia stronie internetowej automatyczne uruchomienie pustego biurka i przełączenie się na nie.
Aby uruchomić biurko, wykonaj te czynności:
- Uruchom biurko o nazwie
test
. - Utwórz zmienną
newDesk1
, która przechowuje właściwośćdeskUuid
biurka.
let newDesk1;
chrome.runtime.sendMessage(
"oagemgapjncacjdaockjfaidedggjond", {
"messageType": "LaunchDesk",
"operands": {
"deskName": "test"
}
},
function(response) {
console.log(response);
if(response&&response.operands) {
newDesk1 = response.operands.deskUuid;
}
}
);
Przejdziesz do nowo uruchomionego biurka. Jeśli okno konsoli jest w osobnym oknie, będzie ono widoczne na oryginalnym biurku. Możesz przełączyć się na oryginalne biurko, naciskając klawisz F5
lub []||
.
Jednocześnie możesz mieć maksymalnie osiem biurek. Jeśli interfejs API zwróci błąd DesksCountCheckFailedError
, musisz usunąć niektóre biurka, zanim uruchomisz kolejne.
6. Usuwanie biurka
Interfejs API RemoveDesk
umożliwia stronie internetowej automatyczne usuwanie biurka według identyfikatora biurka. Może zamknąć wszystkie okna na biurku.
Dla uproszczenia usuń nowo uruchomione biurko. Jednak w praktyce na stronie internetowej można usunąć dowolne wyznaczone biurko na podstawie identyfikatora biurka.
Aby usunąć biurko, wykonaj te czynności:
- Usuń nowo uruchomione biurko:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "RemoveDesk",
"operands": {
"deskId": newDesk1
}
},
function(response) {
console.log(response);
}
);
- W oknie, w którym pojawi się prośba o potwierdzenie lub rezygnację z usunięcia, potwierdź usunięcie biurka. Wszystkie okna na biurku zamykają się.
- Jeśli chcesz wywołać interfejs API i usunąć biurko bez okna potwierdzenia, użyj parametru
skipConfirmation
:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "RemoveDesk",
"operands": {
"deskId": newDesk1,
"skipConfirmation":true
}
},
function(response) {
console.log(response);
}
);
7. Przełącz się na inne biurko
Interfejs API SwitchDesk
umożliwia stronie internetowej automatyczne przełączanie się na wyznaczone biurko.
Dla uproszczenia możesz włączyć biurko i przełączyć się na poprzednie biurko. Jednak w praktyce strona internetowa może przełączać się na dowolne wyznaczone biurko według identyfikatora biurka.
Aby przełączyć się na inne biurko, wykonaj te czynności:
- Uruchamianie biurka:
let newDesk1;
chrome.runtime.sendMessage(
"oagemgapjncacjdaockjfaidedggjond", {
"messageType": "LaunchDesk",
"operands": {
"deskName": "test"
}
},
function(response) {
console.log(response);
if(response && response.operands) {
newDesk1 = response.operands.deskUuid;
}
}
);
- Przełącz się na poprzednie biurko:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "SwitchDesk",
"operands": {
"deskId": baseDesk
}
},
function(response) {
console.log(response);
}
);
8. Gratulacje
Gratulacje! Wiesz już, jak przyznawać stronom internetowym programowy dostęp do ChromeOS Desk za pomocą rozszerzenia Desk Connector w wersji demonstracyjnej i Narzędzi deweloperskich w Chrome.