מתן גישה פרוגרמטית לדפי אינטרנט אל ChromeOS Desk

1. לפני שמתחילים

המחבר של שולחן העבודה הווירטואלי הוא תכונה של ChromeOS שמאפשרת לדפי אינטרנט לגשת באופן פרוגרמטי לשולחנות עבודה וירטואליים ב-ChromeOS. ב-Codelab הזה תלמדו איך להשתמש ב-Desk Connector עם כלי פיתוח ל-Chrome.

דרישות מוקדמות

מה תלמדו

  • איך להגדיר מאפייני חלון.
  • איך להפעיל שולחן עבודה וירטואלי.
  • איך להסיר שולחן עבודה וירטואלי.
  • איך ליצור שולחן עבודה וירטואלי פעיל.
  • איך לעבור לשולחן עבודה וירטואלי אחר.

מה צריך להכין

2. להגדרה

כדי להשלים את ההגדרה, צריך לבצע את השלבים הבאים:

  1. לוחצים לחיצה ימנית על דף האינטרנט הזה ואז על בדיקה.
  2. בחלונית של כלי הפיתוח ל-Chrome, לוחצים על מסוף. את כל הקוד מריצים ב-Codelab הזה בחלונית המסוף.
  3. (אופציונלי) אתם יכולים להשתמש בשולחנות העבודה הווירטואליים באופן ידני במהלך ה-codelab. כדי לעשות זאת, מקישים על F5 או על []|| כדי להיכנס למצב סקירה כללית.

7a5398f02e46d103.png

3. הגדרת מאפייני החלון

ה-API של SetWindowProperties מאפשר לדף אינטרנט להגדיר מאפיינים של החלון באופן פרוגרמטי. כשמגדירים את המאפיין 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. איך מוצאים את שולחן העבודה הווירטואלי הנוכחי

ה-API של GetActiveDesk מאפשר לדף אינטרנט לשלוח שאילתה באופן פרוגרמטי על שולחן העבודה הווירטואלי הנוכחי.

  • כדי למצוא את שולחן העבודה הווירטואלי הפעיל הנוכחי, מאחזרים את המזהה של שולחן העבודה הווירטואלי הנוכחי ומאחסנים את המאפיין deskUuid במשתנה baseDesk:
let baseDesk;
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
    "messageType": "GetActiveDesk",
    },
   function(response) {
    console.log(response);
    if(response && response.operands) {
    baseDesk = response.operands.deskUuid; 
   }       
  }
);

5. הפעלת שולחן עבודה וירטואלי

ה-API של LaunchDesk מאפשר לדף אינטרנט להפעיל באופן פרוגרמטי שולחן עבודה ריק ולעבור אליו.

כדי להפעיל שולחן עבודה וירטואלי, פועלים לפי השלבים הבאים:

  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. הסרה של שולחן עבודה וירטואלי

ה-API של RemoveDesk מאפשר לדף אינטרנט להסיר שולחן עבודה וירטואלי באופן פרוגרמטי לפי מזהה שולחן העבודה הווירטואלי שלו. היא יכולה לסגור את כל החלונות על השולחן.

כדי לשמור על פשטות, אפשר להסיר את שולחן העבודה הווירטואלי החדש שהושק. עם זאת, בפועל, אפשר להסיר מדף האינטרנט כל שולחן עבודה ייעודי לפי מזהה שולחן העבודה הווירטואלי.

כדי להסיר שולחן עבודה וירטואלי, פועלים לפי השלבים הבאים:

  1. כדי להסיר את שולחן העבודה הווירטואלי החדש שהופעל:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
    "messageType": "RemoveDesk",
    "operands": {
        "deskId": newDesk1                        
    }
  },
  function(response) {
     console.log(response);
  }
);
  1. בתיבת הדו-שיח שבה תתבקשו לאשר את ההסרה או לנטוש אותה, מאשרים את ההסרה של שולחן העבודה הווירטואלי. כל החלונות על שולחן העבודה הווירטואלי נסגרים.

ההתראה על סגירת כל החלונות של ChromeOS

  1. כדי להפעיל את ה-API כדי להסיר את שולחן העבודה הווירטואלי ללא חלון אישור, משתמשים בפרמטר skipConfirmation:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
    "messageType": "RemoveDesk",
    "operands": {
        "deskId": newDesk1,
        "skipConfirmation":true
   }
  },
  function(response) {
     console.log(response);
  }
);

7. מעבר לשולחן עבודה וירטואלי אחר

ה-API של SwitchDesk מאפשר לדף אינטרנט לעבור באופן פרוגרמטי לשולחן עבודה וירטואלי.

כדי לשמור על הסבר פשוט, אתם יכולים להפעיל שולחן עבודה וירטואלי ולעבור לשולחן הקודם. עם זאת, בפועל אפשר להחליף את דף האינטרנט לכל שולחן עבודה וירטואלי ייעודי לפי מזהה שולחן העבודה הווירטואלי שלו.

כדי לעבור לשולחן עבודה וירטואלי אחר, פועלים לפי השלבים הבאים:

  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. מזל טוב

מעולה! למדת איך לתת לדפי אינטרנט גישה פרוגרמטית אל ChromeOS Desk באמצעות התוסף Desk Connector Demo ו-Chrome Dev Tools.

מידע נוסף