1. Antes de comenzar
El conector de escritorio es una función de ChromeOS que permite que las páginas web accedan mediante programación a los escritorios virtuales de ChromeOS. En este codelab, aprenderás a usar el conector de escritorio con las Herramientas para desarrolladores de Chrome.
Requisitos previos
- Información sobre los Escritorios virtuales de Chrome OS
Qué aprenderás
- Cómo configurar las propiedades de la ventana
- Cómo iniciar un escritorio
- Cómo quitar un escritorio
- Cómo obtener un escritorio activo.
- Cómo cambiar a otro escritorio
Requisitos
- Una Chromebook
- ChromeOS versión 113.* o posterior Si todavía no tienes la versión, cambia al canal beta.
- Google Chrome
- La extensión de demostración del conector de escritorio
2. Prepárate
Sigue estos pasos para configurarlo:
- Haz clic con el botón derecho en esta página web y, luego, en Inspeccionar.
- En el panel de Herramientas para desarrolladores de Chrome, haz clic en Consola. Debes ejecutar todo el código de este codelab en el panel de Console.
- Opcional: Puedes interactuar con los escritorios virtuales de forma manual durante todo el codelab presionando
F3
o[]||
para ingresar al modo de descripción general.
3. Configura las propiedades de la ventana
La API de SetWindowProperties
permite que una página web establezca propiedades de su ventana de manera programática. Cuando estableces la propiedad allDesks
en un valor true
, se fija la ventana de la pestaña actual a todos los escritorios.
Para configurar las propiedades de las ventanas, sigue estos pasos:
- En el panel Consola, configura la ventana para que aparezca en todos los escritorios:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "SetWindowProperties",
"operands": {
"allDesks": true
}
},
function(response) {
console.log(response);
}
);
- Vuelve a configurar la ventana para que aparezca en un solo escritorio:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond",{
"messageType": "SetWindowProperties",
"operands": {
"allDesks": false
}
},
function(response) {
console.log(response);
}
);
- Vuelve a fijar la ventana a todos los escritorios para una demostración más sencilla:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "SetWindowProperties",
"operands": {
"allDesks": true
}
},
function(response) {
console.log(response);
}
);
Si tienes más de un escritorio virtual en la Chromebook, ahora puedes ver la ventana actual en todos los escritorios.
4. Obtener el escritorio activo actual
La API de GetActiveDesk
permite que una página web consulte de manera programática el escritorio activo actual.
- Para obtener el escritorio activo actual, recupera el ID del escritorio actual y almacena la propiedad
deskUuid
en una variablebaseDesk
:
let baseDesk;
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "GetActiveDesk",
},
function(response) {
console.log(response);
if(response && response.operands) {
baseDesk = response.operands.deskUuid;
}
}
);
5. Cómo iniciar un escritorio
La API de LaunchDesk
permite que una página web inicie de manera programática un escritorio vacío y cambie a él.
Para iniciar un escritorio, sigue estos pasos:
- Inicia un escritorio llamado
test
. - Crea una variable
newDesk1
que almacene la propiedaddeskUuid
del escritorio.
let newDesk1;
chrome.runtime.sendMessage(
"oagemgapjncacjdaockjfaidedggjond", {
"messageType": "LaunchDesk",
"operands": {
"deskName": "test"
}
},
function(response) {
console.log(response);
if(response&&response.operands) {
newDesk1 = response.operands.deskUuid;
}
}
);
Se te redireccionará al escritorio lanzado recientemente. Puedes tener hasta ocho escritorios al mismo tiempo. Si la API muestra un error DesksCountCheckFailedError
, debes quitar algunos escritorios antes de iniciar más.
6. Cómo quitar un escritorio
La API de RemoveDesk
permite que una página web quite de manera programática un escritorio por su ID. Puede cerrar todas las ventanas del escritorio.
Para simplificar, quita el escritorio recién lanzado. Sin embargo, en la práctica, la página web puede quitar cualquier escritorio designado por su ID.
Para quitar un escritorio, sigue estos pasos:
- Quita el escritorio que se acaba de iniciar:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "RemoveDesk",
"operands": {
"deskId": newDesk1
}
},
function(response) {
console.log(response);
}
);
- En el cuadro de diálogo en el que se te solicita que confirmes o abandones la eliminación, confirma que se quitó el escritorio. Se cierran todas las ventanas del escritorio.
- Si deseas llamar a la API para quitar el escritorio sin una ventana de confirmación, usa el parámetro
skipConfirmation
:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "RemoveDesk",
"operands": {
"deskId": newDesk1,
"skipConfirmation":true
}
},
function(response) {
console.log(response);
}
);
7. Cambiar a otro escritorio
La API de SwitchDesk
permite que una página web cambie de manera programática a un escritorio designado.
Para simplificar, debe iniciar un escritorio y cambiar a uno anterior. Sin embargo, en la práctica, la página web podría cambiar a cualquier escritorio designado por su ID de escritorio.
Para cambiar a otro escritorio, sigue estos pasos:
- Inicie un escritorio:
let newDesk1;
chrome.runtime.sendMessage(
"oagemgapjncacjdaockjfaidedggjond", {
"messageType": "LaunchDesk",
"operands": {
"deskName": "test"
}
},
function(response) {
console.log(response);
if(response && response.operands) {
newDesk1 = response.operands.deskUuid;
}
}
);
- Cambiar al escritorio anterior:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "SwitchDesk",
"operands": {
"deskId": baseDesk
}
},
function(response) {
console.log(response);
}
);
8. Felicitaciones
Felicitaciones Aprendió a otorgar acceso programático a las páginas web a Chrome OS Desk con la extensión de demostración del conector de escritorio y las Herramientas para desarrolladores de Chrome.