Webseiten programmatischen Zugriff auf ChromeOS Desk gewähren

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 Desk Connector mit den Chrome-Entwicklertools verwenden.

Voraussetzungen

Lerninhalte

  • Fenstereigenschaften festlegen
  • So starten Sie einen Arbeitsbereich.
  • So entfernen Sie einen Schreibtisch.
  • So erhalten Sie einen aktiven Schreibtisch.
  • So wechseln Sie zu einem anderen Desktop.

Voraussetzungen

2. Einrichten

So richten Sie die Funktion ein:

  1. Klicken Sie mit der rechten Maustaste auf diese Webseite und dann auf Untersuchen.
  2. Klicken Sie in den Chrome-Entwicklertools auf Console. Sie führen den gesamten Code in diesem Codelab im Bereich Console aus.
  3. Optional: Sie können während des gesamten Codelabs manuell mit den virtuellen Desktops interagieren, indem Sie F5 oder []|| drücken, um in den Übersichtsmodus zu wechseln.

7a5398f02e46d103.png

3. Fenstereigenschaften festlegen

Mit der SetWindowProperties API können auf einer Webseite programmatisch Eigenschaften des zugehörigen Fensters festgelegt werden. Wenn Sie die Eigenschaft allDesks auf den Wert true festlegen, wird das Fenster des aktuellen Tabs an alle Desktops angepinnt.

So legen Sie Fensterattribute fest:

  1. Legen Sie im Bereich Console fest, dass das Fenster auf allen Arbeitsplätzen angezeigt werden soll:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
    "messageType": "SetWindowProperties",
    "operands": {
        "allDesks": true
    }
   },
  function(response) {
      console.log(response);
  }
);
  1. So legen Sie fest, dass das Fenster wieder auf einem einzelnen Desktop angezeigt wird:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond",{
    "messageType": "SetWindowProperties",
    "operands": {
        "allDesks": false
    }
   },
  function(response) {
     console.log(response);
  }
);
  1. Pinnen Sie das Fenster zur einfacheren Demonstration wieder an alle Desktops:
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. Aktiven Desktop abrufen

Mit der GetActiveDesk API kann eine Webseite programmatisch den aktuell aktiven Schreibtisch abfragen.

  • Wenn Sie den aktuell aktiven Schreibtisch abrufen möchten, rufen Sie die aktuelle Schreibtisch-ID ab und speichern Sie das Attribut deskUuid in der Variablen baseDesk:
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 Arbeitsbereich starten und zu diesem wechseln.

So starten Sie einen Arbeitsbereich:

  1. Starten Sie einen Desktop mit dem Namen test.
  2. Erstellen Sie eine newDesk1-Variable, in der die deskUuid-Eigenschaft 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 erstellten Schreibtisch weitergeleitet. Wenn sich das Konsolenfenster in einem eigenen Fenster befindet, wird es auf dem ursprünglichen Schreibtisch angezeigt. Sie können zur Originalversion zurückkehren, indem Sie die Taste F5 oder []|| drücken.

Sie können bis zu acht Desktops gleichzeitig haben. Wenn die API den Fehler DesksCountCheckFailedError zurückgibt, müssen Sie einige Arbeitsplätze entfernen, bevor Sie weitere einrichten können.

6. Desktop entfernen

Mit der RemoveDesk API kann eine Webseite einen Desktop programmatisch anhand seiner Desktop-ID entfernen. Es kann alle Fenster auf dem Desktop schließen.

Der Einfachheit halber entfernen Sie den neu gestarteten Desktop. In der Praxis könnte auf der Webseite jedoch jeder zugewiesene Arbeitsplatz anhand seiner Arbeitsplatz-ID entfernt werden.

So entfernen Sie einen Schreibtisch:

  1. Entfernen Sie den neu eingerichteten Desktop:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
    "messageType": "RemoveDesk",
    "operands": {
        "deskId": newDesk1                        
    }
  },
  function(response) {
     console.log(response);
  }
);
  1. Bestätigen Sie im Dialogfeld, in dem Sie aufgefordert werden, das Entfernen zu bestätigen oder abzubrechen, das Entfernen des Schreibtischs. Alle Fenster auf dem Desktop werden geschlossen.

Die ChromeOS-Benachrichtigung „Alle Fenster schließen“

  1. Wenn Sie die API aufrufen möchten, um den Schreibtisch 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 bestimmten Schreibtisch wechseln.

Der Einfachheit halber starten Sie einen Desktop und wechseln zu einem vorherigen Desktop. In der Praxis kann die Webseite jedoch über die Schreibtisch-ID zu jedem beliebigen Schreibtisch wechseln.

So wechseln Sie zu einem anderen Arbeitsplatz:

  1. 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;
    }     
   }
);
  1. 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.

Weitere Informationen