به صفحات وب اجازه دسترسی برنامه‌ریزی شده به ChromeOS Desk را بدهید

1. قبل از شروع

Desk Connector یک ویژگی ChromeOS است که به صفحات وب اجازه می‌دهد به‌صورت برنامه‌ای به میزهای مجازی ChromeOS دسترسی داشته باشند. در این کد لبه، نحوه استفاده از Desk Connector با Chrome DevTools را یاد می گیرید.

پیش نیازها

چیزی که یاد خواهید گرفت

  • نحوه تنظیم ویژگی های پنجره
  • نحوه راه اندازی میز.
  • نحوه برداشتن میز.
  • چگونه یک میز تحریر فعال داشته باشیم
  • نحوه تغییر به میز دیگری

آنچه شما نیاز دارید

2. راه اندازی شوید

برای راه اندازی، این مراحل را دنبال کنید:

  1. روی این صفحه وب کلیک راست کرده و Inspect را کلیک کنید.
  2. در پانل Chrome DevTools، روی Console کلیک کنید. شما تمام کدهای این کد لبه را در پنل کنسول اجرا می کنید.
  3. (اختیاری) می توانید با فشار دادن F5 یا []|| با میزهای مجازی به صورت دستی در سرتاسر Codelab تعامل داشته باشید. برای ورود به حالت نمای کلی

7a5398f02e46d103.png

3. تنظیمات پنجره

SetWindowProperties API به یک صفحه وب اجازه می دهد تا خصوصیات پنجره خود را به صورت برنامه نویسی تنظیم کند. هنگامی که ویژگی allDesks را روی یک مقدار true تنظیم می کنید، پنجره برگه فعلی را به همه میزها پین می کند.

برای تنظیم ویژگی های پنجره، مراحل زیر را دنبال کنید:

  1. در پانل کنسول ، پنجره را طوری تنظیم کنید که روی همه میزها ظاهر شود:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
    "messageType": "SetWindowProperties",
    "operands": {
        "allDesks": true
    }
   },
  function(response) {
      console.log(response);
  }
);
  1. پنجره را طوری تنظیم کنید که دوباره روی یک میز نمایش داده شود:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond",{
    "messageType": "SetWindowProperties",
    "operands": {
        "allDesks": false
    }
   },
  function(response) {
     console.log(response);
  }
);
  1. برای نمایش راحت تر، پنجره را دوباره به همه میزها سنجاق کنید:
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 به یک صفحه وب اجازه می دهد تا به صورت برنامه نویسی یک میز خالی را راه اندازی کند و به آن سوئیچ کند.

برای راه اندازی میز، مراحل زیر را دنبال کنید:

  1. یک میز به نام test راه اندازی کنید.
  2. یک متغیر 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 به یک صفحه وب اجازه می دهد تا به صورت برنامه نویسی میز را با شناسه میز خود حذف کند. می تواند تمام پنجره های روی میز را ببندد.

برای سادگی، میز تازه راه اندازی شده را بردارید. با این حال، در عمل، صفحه وب می تواند هر میز تعیین شده را با شناسه میز خود حذف کند.

برای برداشتن میز، مراحل زیر را دنبال کنید:

  1. میز تازه راه اندازی شده را بردارید:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
    "messageType": "RemoveDesk",
    "operands": {
        "deskId": newDesk1                        
    }
  },
  function(response) {
     console.log(response);
  }
);
  1. در گفتگویی که از شما می‌خواهد حذف را تأیید یا رها کنید، حذف میز را تأیید کنید. تمام پنجره های روی میز بسته می شود.

اعلان ChromeOS Close all windows

  1. اگر می خواهید API را برای حذف میز بدون پنجره تأیید فراخوانی کنید، از پارامتر skipConfirmation استفاده کنید:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
    "messageType": "RemoveDesk",
    "operands": {
        "deskId": newDesk1,
        "skipConfirmation":true
   }
  },
  function(response) {
     console.log(response);
  }
);

7. به میز دیگری بروید

SwitchDesk API به یک صفحه وب اجازه می دهد تا به صورت برنامه ریزی شده به یک میز تعیین شده سوئیچ کند.

برای سادگی، یک میز را راه اندازی می کنید و به میز قبلی تغییر می دهید. با این حال، در عمل، صفحه وب می تواند با شناسه میز خود به هر میز تعیین شده تغییر مکان دهد.

برای جابجایی به میز دیگری، مراحل زیر را دنبال کنید:

  1. راه اندازی یک میز:
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. رفتن به میز قبلی:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
    "messageType": "SwitchDesk",
    "operands": {
        "deskId": baseDesk                 
   }
  },
   function(response) {
       console.log(response); 
  }
);

8. تبریک می گویم

تبریک می گویم! شما یاد گرفتید که چگونه با افزونه Desk Connector Demo و Chrome DevTools به صفحات وب دسترسی برنامه‌ریزی به ChromeOS Desk بدهید.

بیشتر بدانید