1. Hinweis
Desk Connector ist eine ChromeOS-Funktion, mit der Webseiten programmatisch auf virtuelle ChromeOS-Desktops zugreifen können. In diesem Codelab erfahren Sie, wie Sie den Desk Connector mit den Chrome-Entwicklertools verwenden.
Voraussetzungen
- Informationen zu virtuellen ChromeOS-Desktops
Aufgaben in diesem Lab
- Fenstereigenschaften festlegen
- So richten Sie einen Desktop ein.
- Desktop entfernen
- So erhalten Sie einen aktiven Desktop.
- Zu einem anderen Desktop wechseln
Voraussetzungen
- Ein Chromebook
- ChromeOS Version 113.* oder höher. Wenn die Version für Sie noch nicht verfügbar ist, wechseln Sie zur Betaversion.
- Google Chrome
- Desk Connector Demo-Erweiterung
2. Einrichten
Gehen Sie zur Einrichtung folgendermaßen vor:
- Klicken Sie mit der rechten Maustaste auf die Webseite und dann auf Untersuchen.
- Klicken Sie in den Chrome-Entwicklertools auf Console. Den gesamten Code in diesem Codelab führen Sie im Steuerfeld Console aus.
- (Optional) Sie können während des Codelabs manuell mit den virtuellen Desktops interagieren. Drücken Sie dazu
F5
oder[]||
, um in den Übersichtsmodus zu wechseln.
3. Fenstereigenschaften festlegen
Mit der SetWindowProperties
API können Webseiten programmatisch Eigenschaften ihres Fensters festlegen. Wenn Sie die Eigenschaft allDesks
auf einen true
-Wert setzen, wird das Fenster des aktuellen Tabs an alle Desktops angepinnt.
So legen Sie Fenstereigenschaften fest:
- Legen Sie im Bereich Console (Konsole) fest, dass das Fenster auf allen Desktops angezeigt werden soll:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "SetWindowProperties",
"operands": {
"allDesks": true
}
},
function(response) {
console.log(response);
}
);
- Legen Sie fest, dass das Fenster wieder auf einem einzelnen Desktop angezeigt werden soll:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond",{
"messageType": "SetWindowProperties",
"operands": {
"allDesks": false
}
},
function(response) {
console.log(response);
}
);
- Für eine einfachere Demonstration können Sie das Fenster wieder an alle Desktops anpinnen:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "SetWindowProperties",
"operands": {
"allDesks": true
}
},
function(response) {
console.log(response);
}
);
Wenn Sie auf Ihrem Chromebook mehrere virtuelle Desktops haben, können Sie das aktuelle Fenster jetzt auf allen Desktops sehen.
4. Aktuell aktiven Desktop abrufen
Mit der GetActiveDesk
API kann eine Webseite den aktuell aktiven Desktop programmatisch abfragen.
- Wenn Sie den aktuell aktiven Desktop abrufen möchten, rufen Sie die aktuelle Desktop-ID ab und speichern Sie das Attribut
deskUuid
in der VariablenbaseDesk
:
let baseDesk;
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "GetActiveDesk",
},
function(response) {
console.log(response);
if(response && response.operands) {
baseDesk = response.operands.deskUuid;
}
}
);
5. Desktop starten
Mit der LaunchDesk
API kann eine Webseite programmatisch einen leeren Desktop starten und zu diesem wechseln.
So starten Sie einen Desktop:
- Starten Sie einen Desktop mit dem Namen
test
. - Erstellen Sie eine
newDesk1
-Variable, in der das AttributdeskUuid
des Desktops gespeichert wird.
let newDesk1;
chrome.runtime.sendMessage(
"oagemgapjncacjdaockjfaidedggjond", {
"messageType": "LaunchDesk",
"operands": {
"deskName": "test"
}
},
function(response) {
console.log(response);
if(response&&response.operands) {
newDesk1 = response.operands.deskUuid;
}
}
);
Sie werden zum neu eingeführten Desktop weitergeleitet. Wenn sich Ihr Konsolenfenster in einem eigenen Fenster befindet, befindet sich das Konsolenfenster auf dem ursprünglichen Desktop. Du kannst zum ursprünglichen Desktop wechseln, indem du die F5
- oder []||
-Taste drückst.
Sie können bis zu acht Desktops gleichzeitig einrichten. Wenn die API den Fehler DesksCountCheckFailedError
zurückgibt, müssen Sie einige Desktops entfernen, bevor Sie neue starten.
6. Desktop entfernen
Mit der RemoveDesk
API kann eine Webseite einen Desktop anhand seiner Desktop-ID programmatisch entfernen. Damit lassen sich alle Fenster auf dem Schreibtisch schließen.
Der Einfachheit halber entfernen Sie den neu gestarteten Desktop. In der Praxis könnte die Webseite jedoch jeden zugewiesenen Desktop anhand seiner Desktop-ID entfernen.
So entfernen Sie einen Desktop:
- Entfernen Sie den neu gestarteten Desktop:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "RemoveDesk",
"operands": {
"deskId": newDesk1
}
},
function(response) {
console.log(response);
}
);
- Bestätigen Sie in dem Dialogfeld, in dem Sie aufgefordert werden, das Entfernen des Desktops zu bestätigen oder abzubrechen. Alle Fenster auf dem Desktop werden geschlossen.
- Wenn Sie die API aufrufen möchten, um den Desktop ohne Bestätigungsfenster zu entfernen, verwenden Sie den Parameter
skipConfirmation
:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "RemoveDesk",
"operands": {
"deskId": newDesk1,
"skipConfirmation":true
}
},
function(response) {
console.log(response);
}
);
7. Zu einem anderen Desktop wechseln
Mit der SwitchDesk
API kann eine Webseite programmatisch zu einem festgelegten Desktop wechseln.
Der Einfachheit halber starten Sie einen Desktop und wechseln dann zu einem vorherigen Desktop. In der Praxis könnte die Webseite jedoch anhand ihrer Desktop-ID zu einem bestimmten Desktop wechseln.
So wechseln Sie zu einem anderen Desktop:
- Desktop starten:
let newDesk1;
chrome.runtime.sendMessage(
"oagemgapjncacjdaockjfaidedggjond", {
"messageType": "LaunchDesk",
"operands": {
"deskName": "test"
}
},
function(response) {
console.log(response);
if(response && response.operands) {
newDesk1 = response.operands.deskUuid;
}
}
);
- Zum vorherigen Desktop wechseln:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "SwitchDesk",
"operands": {
"deskId": baseDesk
}
},
function(response) {
console.log(response);
}
);
8. Glückwunsch
Glückwunsch! Sie haben gelernt, wie Sie Webseiten mit der Desk Connector Demo-Erweiterung und den Chrome-Entwicklertools programmatischen Zugriff auf ChromeOS Desk gewähren.