1. قبل از شروع
Desk Connector یک ویژگی ChromeOS است که به صفحات وب اجازه میدهد بهصورت برنامهای به میزهای مجازی ChromeOS دسترسی داشته باشند. در این کد لبه، نحوه استفاده از Desk Connector با Chrome DevTools را یاد می گیرید.
پیش نیازها
- آشنایی با میزهای مجازی ChromeOS
چیزی که یاد خواهید گرفت
- نحوه تنظیم ویژگی های پنجره
- نحوه راه اندازی میز.
- نحوه برداشتن میز.
- چگونه یک میز تحریر فعال داشته باشیم
- نحوه تغییر به میز دیگری
آنچه شما نیاز دارید
- یک کروم بوک
- ChromeOS نسخه 113.* یا بالاتر . اگر نسخه هنوز در دسترس شما نیست، به کانال بتا بروید.
- گوگل کروم
- پسوند Desk Connector Demo
2. راه اندازی شوید
برای راه اندازی، این مراحل را دنبال کنید:
- روی این صفحه وب کلیک راست کرده و Inspect را کلیک کنید.
- در پانل Chrome DevTools، روی Console کلیک کنید. شما تمام کدهای این کد لبه را در پنل کنسول اجرا می کنید.
- (اختیاری) می توانید با فشار دادن
F5
یا[]||
با میزهای مجازی به صورت دستی در سرتاسر Codelab تعامل داشته باشید. برای ورود به حالت نمای کلی
3. تنظیمات پنجره
SetWindowProperties
API به یک صفحه وب اجازه می دهد تا خصوصیات پنجره خود را به صورت برنامه نویسی تنظیم کند. هنگامی که ویژگی allDesks
را روی یک مقدار true
تنظیم می کنید، پنجره برگه فعلی را به همه میزها پین می کند.
برای تنظیم ویژگی های پنجره، مراحل زیر را دنبال کنید:
- در پانل کنسول ، پنجره را طوری تنظیم کنید که روی همه میزها ظاهر شود:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "SetWindowProperties",
"operands": {
"allDesks": true
}
},
function(response) {
console.log(response);
}
);
- پنجره را طوری تنظیم کنید که دوباره روی یک میز نمایش داده شود:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond",{
"messageType": "SetWindowProperties",
"operands": {
"allDesks": false
}
},
function(response) {
console.log(response);
}
);
- برای نمایش راحت تر، پنجره را دوباره به همه میزها سنجاق کنید:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "SetWindowProperties",
"operands": {
"allDesks": true
}
},
function(response) {
console.log(response);
}
);
اگر بیش از یک میز مجازی در Chromebook خود دارید، اکنون میتوانید پنجره فعلی را در همه میزها ببینید.
4. میز فعال فعلی را دریافت کنید
GetActiveDesk
API به یک صفحه وب اجازه می دهد تا از طریق برنامه نویسی میز فعال فعلی را پرس و جو کند.
- برای دریافت میز فعال فعلی، شناسه میز فعلی را بازیابی کنید و ویژگی
deskUuid
را در یک متغیرbaseDesk
ذخیره کنید:
let baseDesk;
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "GetActiveDesk",
},
function(response) {
console.log(response);
if(response && response.operands) {
baseDesk = response.operands.deskUuid;
}
}
);
5. یک میز راه اندازی کنید
LaunchDesk
API به یک صفحه وب اجازه می دهد تا به صورت برنامه نویسی یک میز خالی را راه اندازی کند و به آن سوئیچ کند.
برای راه اندازی میز، مراحل زیر را دنبال کنید:
- یک میز به نام
test
راه اندازی کنید. - یک متغیر
newDesk1
ایجاد کنید که ویژگیdeskUuid
میز را ذخیره کند.
let newDesk1;
chrome.runtime.sendMessage(
"oagemgapjncacjdaockjfaidedggjond", {
"messageType": "LaunchDesk",
"operands": {
"deskName": "test"
}
},
function(response) {
console.log(response);
if(response&&response.operands) {
newDesk1 = response.operands.deskUuid;
}
}
);
شما به میز تازه راه اندازی شده آورده شده اید. اگر پنجره کنسول شما روی پنجره خودش باشد، پنجره کنسول روی میز اصلی خواهد بود. میتوانید با فشار دادن F5
یا []||
به میز اصلی بروید کلید
می توانید همزمان هشت میز تحریر داشته باشید. اگر API یک خطای DesksCountCheckFailedError
را برگرداند، قبل از راهاندازی موارد دیگر، باید برخی از میزها را حذف کنید.
6. یک میز را بردارید
RemoveDesk
API به یک صفحه وب اجازه می دهد تا به صورت برنامه نویسی میز را با شناسه میز خود حذف کند. می تواند تمام پنجره های روی میز را ببندد.
برای سادگی، میز تازه راه اندازی شده را بردارید. با این حال، در عمل، صفحه وب می تواند هر میز تعیین شده را با شناسه میز خود حذف کند.
برای برداشتن میز، مراحل زیر را دنبال کنید:
- میز تازه راه اندازی شده را بردارید:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "RemoveDesk",
"operands": {
"deskId": newDesk1
}
},
function(response) {
console.log(response);
}
);
- در گفتگویی که از شما میخواهد حذف را تأیید یا رها کنید، حذف میز را تأیید کنید. تمام پنجره های روی میز بسته می شود.
- اگر می خواهید API را برای حذف میز بدون پنجره تأیید فراخوانی کنید، از پارامتر
skipConfirmation
استفاده کنید:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "RemoveDesk",
"operands": {
"deskId": newDesk1,
"skipConfirmation":true
}
},
function(response) {
console.log(response);
}
);
7. به میز دیگری بروید
SwitchDesk
API به یک صفحه وب اجازه می دهد تا به صورت برنامه ریزی شده به یک میز تعیین شده سوئیچ کند.
برای سادگی، یک میز را راه اندازی می کنید و به میز قبلی تغییر می دهید. با این حال، در عمل، صفحه وب می تواند با شناسه میز خود به هر میز تعیین شده تغییر مکان دهد.
برای جابجایی به میز دیگری، مراحل زیر را دنبال کنید:
- راه اندازی یک میز:
let newDesk1;
chrome.runtime.sendMessage(
"oagemgapjncacjdaockjfaidedggjond", {
"messageType": "LaunchDesk",
"operands": {
"deskName": "test"
}
},
function(response) {
console.log(response);
if(response && response.operands) {
newDesk1 = response.operands.deskUuid;
}
}
);
- رفتن به میز قبلی:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
"messageType": "SwitchDesk",
"operands": {
"deskId": baseDesk
}
},
function(response) {
console.log(response);
}
);
8. تبریک می گویم
تبریک می گویم! شما یاد گرفتید که چگونه با افزونه Desk Connector Demo و Chrome DevTools به صفحات وب دسترسی برنامهریزی به ChromeOS Desk بدهید.