Cấp quyền truy cập có lập trình cho các trang web cho ChromeOS Desk

1. Trước khi bắt đầu

Trình kết nối không gian làm việc là một tính năng của ChromeOS giúp các trang web truy cập vào không gian làm việc ảo trên ChromeOS theo phương thức lập trình. Trong lớp học lập trình này, bạn sẽ tìm hiểu cách sử dụng Trình kết nối không gian làm việc với Công cụ của Chrome cho nhà phát triển.

Điều kiện tiên quyết

Kiến thức bạn sẽ học được

  • Cách đặt thuộc tính cửa sổ.
  • Cách mở một không gian làm việc.
  • Cách xoá một không gian làm việc.
  • Cách để có một không gian làm việc đang hoạt động.
  • Cách chuyển sang một không gian làm việc khác.

Bạn cần có

2. Bắt đầu thiết lập

Để thiết lập, hãy làm theo các bước sau:

  1. Nhấp chuột phải vào trang web này rồi nhấp vào Kiểm tra.
  2. Trong bảng điều khiển Công cụ của Chrome cho nhà phát triển, hãy nhấp vào Bảng điều khiển. Bạn sẽ chạy tất cả mã trong lớp học lập trình này trong bảng điều khiển Console.
  3. (Không bắt buộc) Bạn có thể tương tác với không gian làm việc ảo theo cách thủ công trong suốt lớp học lập trình bằng cách nhấn F5 hoặc []|| để vào chế độ tổng quan.

7a5398f02e46d103.pngS

3. Đặt thuộc tính cửa sổ

API SetWindowProperties cho phép trang web đặt thuộc tính của cửa sổ theo phương thức lập trình. Khi bạn đặt thuộc tính allDesks thành giá trị true, thao tác này sẽ ghim cửa sổ của thẻ hiện tại vào tất cả các không gian làm việc.

Để đặt thuộc tính cửa sổ, hãy làm theo các bước sau:

  1. Trong bảng điều khiển Console, hãy thiết lập để cửa sổ xuất hiện trên tất cả các không gian làm việc:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
    "messageType": "SetWindowProperties",
    "operands": {
        "allDesks": true
    }
   },
  function(response) {
      console.log(response);
  }
);
  1. Đặt lại cửa sổ xuất hiện trên một không gian làm việc:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond",{
    "messageType": "SetWindowProperties",
    "operands": {
        "allDesks": false
    }
   },
  function(response) {
     console.log(response);
  }
);
  1. Ghim lại cửa sổ vào tất cả các không gian làm việc để minh hoạ dễ dàng hơn:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
    "messageType": "SetWindowProperties",
    "operands": {
        "allDesks": true
    }
   },
  function(response) {
     console.log(response);
  }
);

Nếu có nhiều không gian làm việc ảo trên Chromebook, thì giờ đây, bạn có thể thấy cửa sổ hiện tại trên tất cả các không gian làm việc.

4. Tải không gian làm việc hiện đang hoạt động

API GetActiveDesk cho phép một trang web truy vấn không gian làm việc hiện tại theo phương thức lập trình.

  • Để xem không gian làm việc hiện đang hoạt động, hãy truy xuất mã không gian làm việc hiện tại rồi lưu trữ thuộc tính deskUuid trong biến baseDesk:
let baseDesk;
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
    "messageType": "GetActiveDesk",
    },
   function(response) {
    console.log(response);
    if(response && response.operands) {
    baseDesk = response.operands.deskUuid; 
   }       
  }
);

5. Mở một không gian làm việc

API LaunchDesk cho phép một trang web khởi chạy một không gian làm việc trống và chuyển sang không gian làm việc đó theo phương thức lập trình.

Để mở một không gian làm việc, hãy làm theo các bước sau:

  1. Chạy một không gian làm việc có tên là test.
  2. Tạo một biến newDesk1 lưu trữ thuộc tính deskUuid của không gian làm việc.
let newDesk1;                   
chrome.runtime.sendMessage(
    "oagemgapjncacjdaockjfaidedggjond", {
        "messageType": "LaunchDesk",
        "operands": {
            "deskName": "test"           
        }
    },
    function(response) {
     console.log(response);
     if(response&&response.operands) {
     newDesk1 = response.operands.deskUuid;   
    }  
   }
);

Bạn đã được chuyển đến không gian làm việc mới ra mắt. Nếu cửa sổ bảng điều khiển nằm trên cửa sổ riêng, thì cửa sổ bảng điều khiển sẽ nằm trên không gian làm việc ban đầu. Bạn có thể chuyển sang không gian làm việc ban đầu bằng cách nhấn phím F5 hoặc []||.

Bạn có thể có tối đa 8 không gian làm việc cùng lúc. Nếu API trả về lỗi DesksCountCheckFailedError, bạn cần xoá một số không gian làm việc trước khi khởi chạy thêm.

6. Xoá một không gian làm việc

API RemoveDesk cho phép một trang web xoá một không gian làm việc theo mã không gian làm việc theo phương thức lập trình. Tính năng này có thể đóng mọi cửa sổ trên không gian làm việc.

Để đơn giản hoá, bạn sẽ xoá không gian làm việc mới ra mắt. Tuy nhiên, trên thực tế, trang web có thể xoá bất kỳ không gian làm việc nào được chỉ định theo mã không gian làm việc của nó.

Để xoá một không gian làm việc, hãy làm theo các bước sau:

  1. Xoá không gian làm việc mới ra mắt:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
    "messageType": "RemoveDesk",
    "operands": {
        "deskId": newDesk1                        
    }
  },
  function(response) {
     console.log(response);
  }
);
  1. Trong hộp thoại yêu cầu bạn xác nhận hoặc bỏ qua yêu cầu xoá, hãy xác nhận việc xoá không gian làm việc. Tất cả cửa sổ trên không gian làm việc đều đóng.

Thông báo Đóng tất cả cửa sổ của ChromeOS

  1. Nếu bạn muốn gọi API để xoá không gian làm việc mà không có cửa sổ xác nhận, hãy sử dụng tham số skipConfirmation:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
    "messageType": "RemoveDesk",
    "operands": {
        "deskId": newDesk1,
        "skipConfirmation":true
   }
  },
  function(response) {
     console.log(response);
  }
);

7. Chuyển sang một không gian làm việc khác

API SwitchDesk cho phép một trang web chuyển sang không gian làm việc được chỉ định theo phương thức lập trình.

Để đơn giản hoá, bạn sẽ mở một không gian làm việc và chuyển sang một không gian làm việc trước đó. Tuy nhiên, trên thực tế, trang web có thể chuyển sang bất kỳ không gian làm việc nào được chỉ định theo mã không gian làm việc.

Để chuyển sang một không gian làm việc khác, hãy làm theo các bước sau:

  1. Mở một không gian làm việc:
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. Chuyển sang không gian làm việc trước:
chrome.runtime.sendMessage("oagemgapjncacjdaockjfaidedggjond", {
    "messageType": "SwitchDesk",
    "operands": {
        "deskId": baseDesk                 
   }
  },
   function(response) {
       console.log(response); 
  }
);

8. Xin chúc mừng

Xin chúc mừng! Bạn đã tìm hiểu cách cấp quyền truy cập có lập trình cho các trang web vào ChromeOS Desk bằng tiện ích Desk Connector Demo và Công cụ của Chrome cho nhà phát triển.

Tìm hiểu thêm