chrome.webviewTag

Mô tả

Sử dụng thẻ webview để chủ động tải nội dung trực tiếp từ web qua mạng và nhúng nội dung đó vào Ứng dụng Chrome. Ứng dụng của bạn có thể kiểm soát giao diện của webview và tương tác với nội dung trên web, bắt đầu thao tác điều hướng trong trang web được nhúng, phản ứng với các sự kiện lỗi xảy ra trong trang web đó, v.v. (xem phần Cách sử dụng).

Quyền

webview

Phạm vi cung cấp

Chỉ dành cho ChromeOS

Loại

ClearDataOptions

Các tuỳ chọn xác định dữ liệu nào cần được clearData xoá.

Thuộc tính

  • từ

    number không bắt buộc

    Xoá dữ liệu tích luỹ vào hoặc sau ngày này, được biểu thị bằng mili giây kể từ thời điểm bắt đầu thời gian Unix (có thể truy cập thông qua phương thức getTime của đối tượng Date JavaScript). Nếu không có, giá trị mặc định là 0 (sẽ xoá tất cả dữ liệu duyệt web).

ClearDataTypeSet

Một tập hợp các loại dữ liệu. Các thuộc tính bị thiếu được diễn giải là false.

Thuộc tính

  • bộ nhớ đệm ứng dụng

    boolean không bắt buộc

    Bộ nhớ đệm ứng dụng của trang web.

  • bộ nhớ đệm

    boolean không bắt buộc

    Chrome 44 trở lên

    Kể từ Chrome 43. Bộ nhớ đệm của trình duyệt. Lưu ý: khi xoá dữ liệu, thao tác này sẽ xoá toàn bộ bộ nhớ đệm; không chỉ giới hạn trong phạm vi bạn chỉ định.

  • cookie

    boolean không bắt buộc

    Cookie của phân vùng.

  • fileSystems

    boolean không bắt buộc

    Hệ thống tệp của trang web.

  • indexedDB

    boolean không bắt buộc

    Dữ liệu IndexedDB của trang web.

  • localStorage

    boolean không bắt buộc

    Dữ liệu trong bộ nhớ cục bộ của trang web.

  • persistentCookies

    boolean không bắt buộc

    Chrome 58 trở lên

    Cookie cố định của phân vùng.

  • sessionCookies

    boolean không bắt buộc

    Chrome 58 trở lên

    Cookie của phiên của phân vùng.

  • webSQL

    boolean không bắt buộc

    Dữ liệu WebSQL của trang web.

ContentScriptDetails

Chrome 44 trở lên

Thông tin chi tiết về tập lệnh nội dung cần chèn. Hãy tham khảo tài liệu về kịch bản nội dung để biết thêm thông tin chi tiết.

Thuộc tính

  • all_frames

    boolean không bắt buộc

    Nếu all_frames là true, thì tức là JavaScript hoặc CSS phải được chèn vào tất cả khung của trang hiện tại. Theo mặc định, all_frames là false và JavaScript hoặc CSS chỉ được chèn vào khung trên cùng.

  • css

    InjectionItems không bắt buộc

    Mã CSS hoặc danh sách tệp CSS cần chèn vào các trang phù hợp. Các tập lệnh này được chèn theo thứ tự xuất hiện, trước khi bất kỳ DOM nào được tạo hoặc hiển thị cho trang.

  • exclude_globs

    string[] không bắt buộc

    Được áp dụng sau khi so khớp để loại trừ những URL khớp với glob này. Dùng để mô phỏng từ khoá @exclude Greasemonkey.

  • exclude_matches

    string[] không bắt buộc

    Loại trừ các trang mà tập lệnh nội dung này sẽ được chèn vào.

  • include_globs

    string[] không bắt buộc

    Được áp dụng sau khi so khớp để chỉ bao gồm những URL cũng khớp với mẫu này. Dùng để mô phỏng từ khoá @include Greasemonkey.

  • js

    InjectionItems không bắt buộc

    Mã JavaScript hoặc danh sách các tệp JavaScript cần chèn vào các trang phù hợp. Các giá trị này được chèn theo thứ tự xuất hiện.

  • match_about_blank

    boolean không bắt buộc

    Có chèn tập lệnh nội dung trên about:blank và about:srcdoc hay không. Tập lệnh nội dung sẽ chỉ được chèn vào các trang khi URL kế thừa của các trang đó khớp với một trong các mẫu đã khai báo trong trường matches. URL kế thừa là URL của tài liệu đã tạo khung hoặc cửa sổ. Không thể chèn tập lệnh nội dung vào khung hộp cát.

  • khớp với

    string[]

    Chỉ định những trang mà tập lệnh nội dung này sẽ được chèn vào.

  • tên

    chuỗi

    Tên của tập lệnh nội dung cần chèn.

  • run_at

    RunAt không bắt buộc

    Thời điểm sớm nhất mà JavaScript hoặc CSS sẽ được chèn vào thẻ. Giá trị mặc định là "document_idle".

ContentWindow

Xử lý thông báo cho cửa sổ khách.

Thuộc tính

  • postMessage

    void

    Đăng thông báo lên nội dung trên web được nhúng, miễn là nội dung được nhúng đang hiển thị một trang từ nguồn gốc mục tiêu. Phương thức này hoạt động sau khi trang tải xong. Lắng nghe sự kiện contentload rồi gọi phương thức.

    Khách sẽ có thể gửi thư trả lời cho trình nhúng bằng cách đăng thông báo lên event.source về sự kiện thông báo mà khách nhận được.

    API này giống hệt với API postMessage HTML5 để giao tiếp giữa các trang web. Trình nhúng có thể nghe thư trả lời bằng cách thêm trình nghe sự kiện message vào khung của chính nó.

    Hàm postMessage có dạng như sau:

    (message: any, targetOrigin: string) => {...}

    • tin nhắn

      bất kỳ

      Đối tượng thông báo cần gửi cho khách.

    • targetOrigin

      chuỗi

      Chỉ định nguồn gốc của cửa sổ khách để gửi sự kiện.

ContextMenuCreateProperties

Chrome 44 trở lên

Thuộc tính

  • đã chọn

    boolean không bắt buộc

    Trạng thái ban đầu của hộp đánh dấu hoặc mục nút chọn: true cho mục đã chọn và false cho mục chưa chọn. Bạn chỉ có thể chọn một mục nút chọn tại một thời điểm trong một nhóm mục nút chọn nhất định.

  • bối cảnh

    [ContextType, ...ContextType[]] không bắt buộc

    Danh sách bối cảnh mà mục trong trình đơn này sẽ xuất hiện. Giá trị mặc định là ['page'] nếu không được chỉ định.

  • documentUrlPatterns

    string[] không bắt buộc

    Cho phép bạn hạn chế mục chỉ áp dụng cho những tài liệu có URL khớp với một trong các mẫu đã cho. (Điều này cũng áp dụng cho khung hình.) Để biết thông tin chi tiết về định dạng của một mẫu, hãy xem phần Mẫu khớp.

  • đang bật

    boolean không bắt buộc

    Cho biết mục này trong trình đơn theo bối cảnh đang bật hay tắt. Giá trị mặc định là true.

  • id

    chuỗi không bắt buộc

    Mã nhận dạng duy nhất để gán cho mục này. Bắt buộc đối với trang sự kiện. Không được trùng với một mã nhận dạng khác của tiện ích này.

  • parentId

    string | number không bắt buộc

    Mã của mục trình đơn mẹ; mã này giúp mục này trở thành mục con của một mục đã thêm trước đó.

  • targetUrlPatterns

    string[] không bắt buộc

    Tương tự như documentUrlPatterns, nhưng cho phép bạn lọc dựa trên thuộc tính src của thẻ img/audio/video và href của thẻ ký tự liên kết.

  • tiêu đề

    chuỗi không bắt buộc

    Văn bản sẽ hiển thị trong mục; đây là trường bắt buộc, trừ phi type là "separator". Khi bối cảnh là "selection", bạn có thể sử dụng %s trong chuỗi để hiện văn bản đã chọn. Ví dụ: nếu giá trị của tham số này là "Dịch '%s' sang Pig Latin" và người dùng chọn từ "cool", thì mục trong trình đơn theo bối cảnh cho lựa chọn này là "Dịch 'cool' sang Pig Latin".

  • loại

    ItemType không bắt buộc

    Loại mục trong trình đơn. Giá trị mặc định là "normal" nếu không được chỉ định.

  • onclick

    không bắt buộc

    Một hàm sẽ được gọi lại khi người dùng nhấp vào mục trong trình đơn.

    Hàm onclick có dạng như sau:

    (info: OnClickData) => {...}

    • Thông tin về mục được nhấp và bối cảnh xảy ra lượt nhấp.

ContextMenus

Chrome 44 trở lên

Thuộc tính

  • onShow

    Event<functionvoidvoid>

    Được kích hoạt trước khi hiển thị trình đơn theo bối cảnh trên webview này. Có thể dùng để tắt trình đơn theo bối cảnh này bằng cách gọi event.preventDefault().

    Hàm onShow.addListener có dạng như sau:

    (callback: function) => {...}

    • callback

      hàm

      Tham số callback có dạng như sau:

      (event: object) => void

      • sự kiện

        đối tượng

        • preventDefault

          void

          Hãy gọi hàm này để ngăn trình đơn theo bối cảnh xuất hiện.

          Hàm preventDefault có dạng như sau:

          () => {...}

  • create

    void

    Tạo một mục mới trong trình đơn theo bối cảnh. Xin lưu ý rằng nếu xảy ra lỗi trong quá trình tạo, bạn có thể không phát hiện ra cho đến khi lệnh gọi lại tạo kích hoạt (thông tin chi tiết sẽ có trong runtime.lastError).

    Hàm create có dạng như sau:

    (createProperties: object, callback?: function) => {...}

    • createProperties

      đối tượng

      Các thuộc tính dùng để tạo mục

    • callback

      hàm không bắt buộc

      Tham số callback có dạng như sau:

      () => void

    • returns

      chuỗi | số

      Mã của mục mới tạo.

  • xoá

    void

    Xoá một mục trong trình đơn theo bối cảnh.

    Hàm remove có dạng như sau:

    (menuItemId: string | number, callback?: function) => {...}

    • menuItemId

      chuỗi | số

      Mã của mục trong trình đơn theo bối cảnh cần xoá.

    • callback

      hàm không bắt buộc

      Tham số callback có dạng như sau:

      () => void

  • removeAll

    void

    Xoá tất cả các mục trong trình đơn theo bối cảnh được thêm vào webview này.

    Hàm removeAll có dạng như sau:

    (callback?: function) => {...}

    • callback

      hàm không bắt buộc

      Tham số callback có dạng như sau:

      () => void

  • cập nhật

    void

    Cập nhật một mục trong trình đơn theo bối cảnh đã tạo trước đó.

    Hàm update có dạng như sau:

    (id: string | number, updateProperties: object, callback?: function) => {...}

    • id

      chuỗi | số

      Mã của mặt hàng cần cập nhật.

    • updateProperties

      đối tượng

      Các thuộc tính cần cập nhật. Chấp nhận các giá trị giống như hàm tạo.

    • callback

      hàm không bắt buộc

      Tham số callback có dạng như sau:

      () => void

ContextMenuUpdateProperties

Chrome 44 trở lên

Thuộc tính

  • đã chọn

    boolean không bắt buộc

    Trạng thái của hộp đánh dấu hoặc mục nút chọn: true cho mục đã chọn và false cho mục chưa chọn. Bạn chỉ có thể chọn một mục nút chọn tại một thời điểm trong một nhóm mục nút chọn nhất định.

  • bối cảnh

    [ContextType, ...ContextType[]] không bắt buộc

    Danh sách bối cảnh mà mục trong trình đơn này sẽ xuất hiện.

  • documentUrlPatterns

    string[] không bắt buộc

    Cho phép bạn hạn chế mục chỉ áp dụng cho những tài liệu có URL khớp với một trong các mẫu đã cho. (Điều này cũng áp dụng cho khung hình.) Để biết thông tin chi tiết về định dạng của một mẫu, hãy xem phần Mẫu khớp.

  • đang bật

    boolean không bắt buộc

    Cho biết mục này trong trình đơn theo bối cảnh đang bật hay tắt.

  • parentId

    string | number không bắt buộc

    Mã của mục trình đơn mẹ; mã này giúp mục này trở thành mục con của một mục đã thêm trước đó. Lưu ý: Bạn không thể thay đổi một mục thành mục con của một trong các mục con của chính mục đó.

  • targetUrlPatterns

    string[] không bắt buộc

    Tương tự như documentUrlPatterns, nhưng cho phép bạn lọc dựa trên thuộc tính src của thẻ img/audio/video và href của thẻ ký tự liên kết.

  • tiêu đề

    chuỗi không bắt buộc

    Văn bản sẽ hiển thị trong mục

  • loại

    ItemType không bắt buộc

    Loại mục trong trình đơn.

  • onclick

    không bắt buộc

    Một hàm sẽ được gọi lại khi người dùng nhấp vào mục trong trình đơn.

    Hàm onclick có dạng như sau:

    (info: OnClickData) => {...}

    • Thông tin về mục được nhấp và bối cảnh xảy ra lượt nhấp.

ContextType

Chrome 44 trở lên

Các bối cảnh khác nhau mà trình đơn có thể xuất hiện. Việc chỉ định "all" tương đương với việc kết hợp tất cả các bối cảnh khác.

Enum

"all"

"page"

"frame"

"selection"

"link"

"editable"

"image"

"video"

"audio"

DialogController

Giao diện được đính kèm vào sự kiện DOM dialog.

Thuộc tính

  • hủy

    void

    Từ chối hộp thoại. Tương đương với việc nhấp vào Huỷ trong hộp thoại confirm hoặc prompt.

    Hàm cancel có dạng như sau:

    () => {...}

  • ok

    void

    Chấp nhận hộp thoại. Tương đương với việc nhấp vào OK trong hộp thoại alert, confirm hoặc prompt.

    Hàm ok có dạng như sau:

    (response?: string) => {...}

    • phản hồi

      chuỗi không bắt buộc

      Chuỗi phản hồi để cung cấp cho khách khi chấp nhận hộp thoại prompt.

DialogMessageType

Chrome 141 trở lên

Loại hộp thoại phụ mà khách yêu cầu.

Enum

"alert"

"confirm"

"prompt"

DownloadPermissionRequest

Loại đối tượng request đi kèm với sự kiện DOM download permissionrequest.

Thuộc tính

  • requestMethod

    chuỗi

    Loại yêu cầu HTTP (ví dụ: GET) liên kết với yêu cầu tải xuống.

  • url

    chuỗi

    URL tải xuống được yêu cầu.

  • allow

    void

    Cho phép yêu cầu cấp quyền.

    Hàm allow có dạng như sau:

    () => {...}

  • từ chối

    void

    Từ chối yêu cầu cấp quyền. Đây là hành vi mặc định nếu bạn không gọi allow.

    Hàm deny có dạng như sau:

    () => {...}

ExitReason

Chrome 141 trở lên

Chuỗi cho biết lý do thoát.

Enum

"normal"

"bất thường"

"gặp sự cố"

"killed"

"oom killed"

"oom"

"không khởi chạy được"

"lỗi về tính toàn vẹn"

FileSystemPermissionRequest

Loại đối tượng request đi kèm với sự kiện DOM filesystem permissionrequest.

Thuộc tính

  • url

    chuỗi

    URL của khung yêu cầu quyền truy cập vào hệ thống tệp cục bộ.

  • allow

    void

    Cho phép yêu cầu cấp quyền.

    Hàm allow có dạng như sau:

    () => {...}

  • từ chối

    void

    Từ chối yêu cầu cấp quyền.

    Hàm deny có dạng như sau:

    () => {...}

FindCallbackResults

Chứa tất cả kết quả của yêu cầu tìm.

Thuộc tính

  • activeMatchOrdinal

    số

    Số thứ tự của kết quả trùng khớp hiện tại.

  • đã huỷ

    boolean

    Cho biết liệu yêu cầu tìm này có bị huỷ hay không.

  • numberOfMatches

    số

    Số lần searchText được so khớp trên trang.

  • selectionRect

    Mô tả một hình chữ nhật xung quanh kết quả trùng khớp đang hoạt động trong toạ độ màn hình.

FindOptions

Các lựa chọn cho yêu cầu tìm.

Thuộc tính

  • lùi lại

    boolean không bắt buộc

    Cờ để tìm kết quả trùng khớp theo thứ tự ngược lại. Giá trị mặc định là false.

  • matchCase

    boolean không bắt buộc

    Cờ để so khớp có phân biệt chữ hoa chữ thường. Giá trị mặc định là false.

FullscreenPermissionRequest

Chrome 43 trở lên

Loại đối tượng request đi kèm với sự kiện DOM fullscreen permissionrequest.

Thuộc tính

  • nguồn gốc

    chuỗi

    Nguồn gốc của khung bên trong webview đã bắt đầu yêu cầu toàn màn hình.

  • allow

    void

    Cho phép yêu cầu cấp quyền.

    Hàm allow có dạng như sau:

    () => {...}

  • từ chối

    void

    Từ chối yêu cầu cấp quyền.

    Hàm deny có dạng như sau:

    () => {...}

GeolocationPermissionRequest

Loại đối tượng request đi kèm với sự kiện DOM geolocation permissionrequest.

Thuộc tính

  • url

    chuỗi

    URL của khung yêu cầu quyền truy cập vào dữ liệu vị trí địa lý.

  • allow

    void

    Cho phép yêu cầu cấp quyền.

    Hàm allow có dạng như sau:

    () => {...}

  • từ chối

    void

    Từ chối yêu cầu cấp quyền. Đây là hành vi mặc định nếu bạn không gọi allow.

    Hàm deny có dạng như sau:

    () => {...}

HidPermissionRequest

Chrome 125 trở lên

Loại đối tượng request đi kèm với sự kiện DOM hid permissionrequest.

Thuộc tính

  • url

    chuỗi

    URL của khung yêu cầu quyền truy cập vào API HID.

  • allow

    void

    Cho phép yêu cầu cấp quyền.

    Hàm allow có dạng như sau:

    () => {...}

  • từ chối

    void

    Từ chối yêu cầu cấp quyền. Đây là hành vi mặc định nếu bạn không gọi allow.

    Hàm deny có dạng như sau:

    () => {...}

InjectDetails

Thông tin chi tiết về tập lệnh hoặc CSS cần chèn. Bạn phải đặt thuộc tính mã hoặc tệp, nhưng không được đặt cả hai cùng một lúc.

Thuộc tính

  • mã

    chuỗi không bắt buộc

    Mã JavaScript hoặc CSS cần chèn.

    Cảnh báo: Hãy cẩn thận khi sử dụng tham số code. Việc sử dụng không đúng cách có thể khiến ứng dụng của bạn bị tấn công bằng tập lệnh trên nhiều trang web.

  • tệp

    chuỗi không bắt buộc

    Tệp JavaScript hoặc CSS cần chèn.

InjectionItems

Chrome 44 trở lên

Loại mục chèn: mã hoặc một tập hợp tệp.

Thuộc tính

  • mã

    chuỗi không bắt buộc

    Mã JavaScript hoặc CSS sẽ được chèn vào các trang phù hợp.

  • tệp

    string[] không bắt buộc

    Danh sách các tệp JavaScript hoặc CSS cần chèn vào các trang phù hợp. Các giá trị này được chèn theo thứ tự xuất hiện trong mảng này.

LoadAbortReason

Chrome 141 trở lên

Chuỗi cho biết loại huỷ bỏ đã xảy ra. Chuỗi này không được đảm bảo duy trì khả năng tương thích ngược giữa các bản phát hành. Bạn không được phân tích cú pháp và hành động dựa trên nội dung của nó. Trong một số trường hợp, có thể có lỗi không được liệt kê ở đây.

Enum

"ERR_ABORTED"

"ERR_INVALID_URL"

"ERR_DISALLOWED_URL_SCHEME"

"ERR_BLOCKED_BY_CLIENT"

"ERR_ADDRESS_UNREACHABLE"

"ERR_EMPTY_RESPONSE"

"ERR_FILE_NOT_FOUND"

"ERR_UNKNOWN_URL_SCHEME"

LoadPluginPermissionRequest

Loại đối tượng request đi kèm với sự kiện DOM loadplugin permissionrequest.

Thuộc tính

  • identifier

    chuỗi

    Chuỗi giá trị nhận dạng của trình bổ trợ.

  • tên

    chuỗi

    Tên hiển thị của trình bổ trợ.

  • allow

    void

    Cho phép yêu cầu cấp quyền. Đây là hành vi mặc định nếu deny không được gọi.

    Hàm allow có dạng như sau:

    () => {...}

  • từ chối

    void

    Từ chối yêu cầu cấp quyền.

    Hàm deny có dạng như sau:

    () => {...}

MediaPermissionRequest

Loại đối tượng request đi kèm với sự kiện DOM media permissionrequest.

Thuộc tính

  • url

    chuỗi

    URL của khung yêu cầu quyền truy cập vào nội dung nghe nhìn của người dùng.

  • allow

    void

    Cho phép yêu cầu cấp quyền.

    Hàm allow có dạng như sau:

    () => {...}

  • từ chối

    void

    Từ chối yêu cầu cấp quyền. Đây là hành vi mặc định nếu bạn không gọi allow.

    Hàm deny có dạng như sau:

    () => {...}

NewWindow

Giao diện được đính kèm vào sự kiện DOM newwindow.

Thuộc tính

  • đính kèm

    void

    Đính kèm trang đích được yêu cầu vào một phần tử webview hiện có.

    Hàm attach có dạng như sau:

    (webview: object) => {...}

    • webview

      đối tượng

      Phần tử webview mà trang đích sẽ được đính kèm.

  • hủy

    void

    Huỷ yêu cầu cửa sổ mới.

    Hàm discard có dạng như sau:

    () => {...}

PermissionType

Chrome 141 trở lên

Loại quyền được yêu cầu.

Enum

"media"

"geolocation"

"pointerLock"

"tải xuống"

"loadplugin"

"filesystem"

"fullscreen"

"hid"

PointerLockPermissionRequest

Loại đối tượng request đi kèm với sự kiện DOM pointerLock permissionrequest.

Thuộc tính

  • lastUnlockedBySelf

    boolean

    Liệu khung yêu cầu có phải là ứng dụng gần đây nhất giữ khoá con trỏ hay không.

  • url

    chuỗi

    URL của khung yêu cầu khoá con trỏ.

  • userGesture

    boolean

    Liệu có yêu cầu khoá con trỏ do cử chỉ nhập của người dùng hay không.

  • allow

    void

    Cho phép yêu cầu cấp quyền.

    Hàm allow có dạng như sau:

    () => {...}

  • từ chối

    void

    Từ chối yêu cầu cấp quyền. Đây là hành vi mặc định nếu bạn không gọi allow.

    Hàm deny có dạng như sau:

    () => {...}

SelectionRect

Mô tả một hình chữ nhật trong toạ độ màn hình.

Ngữ nghĩa chứa giống như mảng; tức là toạ độ (left, top) được coi là nằm trong hình chữ nhật, nhưng toạ độ (left + width, top) thì không.

Thuộc tính

  • chiều cao

    số

    Chiều cao của hình chữ nhật.

  • trái

    số

    Khoảng cách từ cạnh trái của màn hình đến cạnh trái của hình chữ nhật.

  • trên cùng

    số

    Khoảng cách từ cạnh trên của màn hình đến cạnh trên của hình chữ nhật.

  • chiều rộng

    số

    Chiều rộng của hình chữ nhật.

StopFindingAction

Chrome 141 trở lên

Xác định việc cần làm với kết quả trùng khớp đang hoạt động sau khi phiên tìm kiếm kết thúc. clear sẽ xoá phần đánh dấu trên kết quả trùng khớp đang hoạt động; keep sẽ giữ nguyên phần đánh dấu trên kết quả trùng khớp đang hoạt động; activate sẽ giữ nguyên phần đánh dấu trên kết quả trùng khớp đang hoạt động và mô phỏng một lượt nhấp của người dùng vào kết quả trùng khớp đó. Thao tác mặc định là keep.

Enum

"clear"

"keep"

"activate"

WebRequestEventInterface

Chrome 44 trở lên

Giao diện cung cấp quyền truy cập vào các sự kiện webRequest trên trang khách. Hãy xem API tiện ích chrome.webRequest để biết thông tin chi tiết về vòng đời của webRequest và các khái niệm liên quan. Lưu ý: Sự kiện chrome.webRequest.onActionIgnored không được hỗ trợ cho chế độ xem web.

Để minh hoạ sự khác biệt về cách sử dụng so với API webRequest của tiện ích, hãy xem xét mã ví dụ sau đây. Mã này chặn mọi yêu cầu của khách đối với các URL khớp với *://www.evil.com/*:

webview.request.onBeforeRequest.addListener(
  function(details) { return {cancel: true}; },
  {urls: ["*://www.evil.com/*"]},
  ["blocking"]);

Ngoài ra, giao diện này hỗ trợ các quy tắc webRequest khai báo thông qua các sự kiện onRequest và onMessage. Hãy xem declarativeWebRequest để biết thông tin chi tiết về API.

Xin lưu ý rằng các điều kiện và hành động cho webRequest của webview khai báo phải được tạo thực thể từ các đối tác chrome.webViewRequest.* của chúng. Mã ví dụ sau đây chặn tất cả yêu cầu đến "example.com" trên WebView myWebview theo cách khai báo:

var rule = {
  conditions: [
    new chrome.webViewRequest.RequestMatcher({ url: { hostSuffix: 'example.com' } })
  ],
  actions: [ new chrome.webViewRequest.CancelRequest() ]
};
myWebview.request.onRequest.addRules([rule]);

WindowOpenDisposition

Chrome 141 trở lên

Cách xử lý được yêu cầu cho cửa sổ mới.

Enum

"ignore"

"save_to_disk"

"current_tab"

"new_background_tab"

"new_foreground_tab"

"new_window"

"new_popup"

ZoomMode

Chrome 43 trở lên

Xác định cách xử lý thao tác thu phóng trong webview.

Enum

"per-origin"
Các thay đổi về mức thu phóng sẽ được giữ nguyên trong nguồn gốc của trang được thu phóng, tức là tất cả các chế độ xem web khác trong cùng một phân vùng được điều hướng đến cùng một nguồn gốc cũng sẽ được thu phóng. Hơn nữa, các thay đổi về mức thu phóng per-origin được lưu cùng với nguồn gốc, nghĩa là khi chuyển đến các trang khác có cùng nguồn gốc, tất cả các trang đó sẽ được thu phóng theo cùng một hệ số thu phóng.

"per-view"
Các thay đổi về thu phóng chỉ có hiệu lực trong chế độ xem web này và các thay đổi về thu phóng trong các chế độ xem web khác sẽ không ảnh hưởng đến việc thu phóng của chế độ xem web này. Ngoài ra, per-view các thay đổi về mức thu phóng sẽ được đặt lại khi điều hướng; việc điều hướng một webview sẽ luôn tải các trang có hệ số thu phóng theo từng nguồn gốc (trong phạm vi của phân vùng).

"disabled"
Tắt tất cả tính năng thu phóng trong chế độ xem web. Nội dung sẽ trở về mức thu phóng mặc định và mọi thay đổi về mức thu phóng sẽ bị bỏ qua.

Thuộc tính

contentWindow

Tham chiếu đối tượng có thể dùng để đăng thông báo vào trang khách.

Loại

contextMenus

Chrome 44 trở lên

Tương tự như API ContextMenus của Chrome, nhưng áp dụng cho webview thay vì trình duyệt. Sử dụng API webview.contextMenus để thêm các mục vào trình đơn theo bối cảnh của webview. Bạn có thể chọn loại đối tượng mà các mục bổ sung trong trình đơn theo bối cảnh áp dụng, chẳng hạn như hình ảnh, siêu liên kết và trang.

Loại

request

Giao diện cung cấp quyền truy cập vào các sự kiện webRequest trên trang khách.

Phương thức

addContentScripts()

Chrome 44 trở lên
chrome.webviewTag.addContentScripts(
  contentScriptList: [ContentScriptDetails, ...ContentScriptDetails[]],
)
: void

Thêm quy tắc chèn tập lệnh nội dung vào webview. Khi webview chuyển đến một trang khớp với một hoặc nhiều quy tắc, các tập lệnh liên quan sẽ được chèn vào. Bạn có thể thêm quy tắc hoặc cập nhật quy tắc hiện có theo phương thức lập trình.

Ví dụ sau đây thêm hai quy tắc vào webview: "myRule" và "anotherRule".

webview.addContentScripts([
  {
    name: 'myRule',
    matches: ['http://www.foo.com/*'],
    css: { files: ['mystyles.css'] },
    js: { files: ['jquery.js', 'myscript.js'] },
    run_at: 'document_start'
  },
  {
    name: 'anotherRule',
    matches: ['http://www.bar.com/*'],
    js: { code: "document.body.style.backgroundColor = 'red';" },
    run_at: 'document_end'
  }]);
 ...

// Navigates webview.
webview.src = 'http://www.foo.com';

Bạn có thể trì hoãn lệnh gọi addContentScripts cho đến khi cần chèn tập lệnh.

Ví dụ sau đây cho thấy cách ghi đè một quy tắc hiện có.

webview.addContentScripts([{
    name: 'rule',
    matches: ['http://www.foo.com/*'],
    js: { files: ['scriptA.js'] },
    run_at: 'document_start'}]);

// Do something.
webview.src = 'http://www.foo.com/*';
 ...
// Overwrite 'rule' defined before.
webview.addContentScripts([{
    name: 'rule',
    matches: ['http://www.bar.com/*'],
    js: { files: ['scriptB.js'] },
    run_at: 'document_end'}]);

Nếu webview đã được điều hướng đến nguồn gốc (ví dụ: foo.com) và gọi webview.addContentScripts để thêm "myRule", bạn cần đợi lần điều hướng tiếp theo để chèn tập lệnh. Nếu bạn muốn chèn ngay lập tức, executeScript sẽ thực hiện đúng cách.

Các quy tắc được giữ nguyên ngay cả khi quy trình khách gặp sự cố hoặc bị tắt, hoặc ngay cả khi webview được gán lại quy trình mẹ.

Hãy tham khảo tài liệu về kịch bản nội dung để biết thêm thông tin chi tiết.

Thông số

back()

chrome.webviewTag.back(
  callback?: function,
)
: void

Di chuyển lùi lại một mục trong nhật ký nếu có thể. Tương đương với go(-1).

Thông số

  • callback

    hàm không bắt buộc

    Chrome 44 trở lên

    Tham số callback có dạng như sau:

    (success: boolean) => void

    • thành công

      boolean

      Cho biết liệu thao tác điều hướng có thành công hay không.

canGoBack()

chrome.webviewTag.canGoBack(): boolean

Cho biết liệu có thể quay lại trong nhật ký hay không. Trạng thái của hàm này được lưu vào bộ nhớ đệm và cập nhật trước mỗi loadcommit, vì vậy, nơi tốt nhất để gọi hàm này là trên loadcommit.

Giá trị trả về

  • boolean

canGoForward()

chrome.webviewTag.canGoForward(): boolean

Cho biết liệu có thể chuyển tiếp qua nhật ký hay không. Trạng thái của hàm này được lưu vào bộ nhớ đệm và cập nhật trước mỗi loadcommit, vì vậy, nơi tốt nhất để gọi hàm này là trên loadcommit.

Giá trị trả về

  • boolean

captureVisibleRegion()

Chrome 50 trở lên
chrome.webviewTag.captureVisibleRegion(
  options?: ImageDetails,
  callback: function,
)
: void

Chụp vùng hiển thị của chế độ xem web.

Thông số

  • tùy chọn

    ImageDetails không bắt buộc

  • callback

    hàm

    Tham số callback có dạng như sau:

    (dataUrl: string) => void

    • dataUrl

      chuỗi

      URL dữ liệu mã hoá hình ảnh của vùng hiển thị trên thẻ đã chụp. Có thể được gán cho thuộc tính "src" của phần tử Hình ảnh HTML để hiển thị.

clearData()

chrome.webviewTag.clearData(
  options: ClearDataOptions,
  types: ClearDataTypeSet,
  callback?: function,
)
: void

Xoá dữ liệu duyệt web cho phân vùng webview.

Thông số

  • tùy chọn

    Các lựa chọn xác định dữ liệu cần xoá.

  • Các loại dữ liệu cần xoá.

  • callback

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    () => void

executeScript()

chrome.webviewTag.executeScript(
  details: InjectDetails,
  callback?: function,
)
: void

Chèn mã JavaScript vào trang khách.

Mã mẫu sau đây sử dụng tính năng chèn tập lệnh để đặt màu nền của trang khách thành màu đỏ:

webview.executeScript({ code: "document.body.style.backgroundColor = 'red'" });

Thông số

  • chi tiết

    Thông tin chi tiết về tập lệnh cần chạy.

  • callback

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (result?: any[]) => void

    • kết quả

      any[] không bắt buộc

      Kết quả của tập lệnh trong mọi khung được chèn.

find()

chrome.webviewTag.find(
  searchText: string,
  options?: FindOptions,
  callback?: function,
)
: void

Bắt đầu yêu cầu tìm trong trang.

Thông số

  • searchText

    chuỗi

    Chuỗi cần tìm trong trang.

  • tùy chọn

    FindOptions không bắt buộc

    Các lựa chọn cho yêu cầu tìm.

  • callback

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (results?: FindCallbackResults) => void

    • kết quả

      FindCallbackResults không bắt buộc

      Chứa tất cả kết quả của yêu cầu tìm. Bạn có thể bỏ qua results nếu không sử dụng trong phần nội dung hàm callback; ví dụ: nếu lệnh gọi lại chỉ được dùng để phân biệt thời điểm yêu cầu tìm kiếm hoàn tất.

forward()

chrome.webviewTag.forward(
  callback?: function,
)
: void

Chuyển đến mục nhật ký tiếp theo nếu có thể. Tương đương với go(1).

Thông số

  • callback

    hàm không bắt buộc

    Chrome 44 trở lên

    Tham số callback có dạng như sau:

    (success: boolean) => void

    • thành công

      boolean

      Cho biết liệu thao tác điều hướng có thành công hay không.

getAudioState()

Chrome 62 trở lên
chrome.webviewTag.getAudioState(
  callback: function,
)
: void

Truy vấn trạng thái âm thanh.

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (audible: boolean) => void

    • audible

      boolean

getProcessId()

chrome.webviewTag.getProcessId(): number

Trả về mã định danh tiến trình nội bộ của Chrome cho tiến trình hiện tại của trang web khách, cho phép trình nhúng biết có bao nhiêu khách sẽ bị ảnh hưởng khi chấm dứt tiến trình. Hai khách sẽ chỉ dùng chung một quy trình nếu họ thuộc cùng một ứng dụng và có cùng mã phân vùng bộ nhớ. Lệnh gọi này là đồng bộ và trả về khái niệm được lưu vào bộ nhớ đệm của trình nhúng về mã định danh tiến trình hiện tại. Mã định danh tiến trình không giống với mã định danh tiến trình của hệ điều hành.

Giá trị trả về

  • số

getUserAgent()

chrome.webviewTag.getUserAgent(): string

Trả về chuỗi tác nhân người dùng mà webview sử dụng cho các yêu cầu trang của khách.

Giá trị trả về

  • chuỗi

getZoom()

chrome.webviewTag.getZoom(
  callback: function,
)
: void

Lấy hệ số thu phóng hiện tại.

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (zoomFactor: number) => void

    • zoomFactor

      số

      Hệ số thu phóng hiện tại.

getZoomMode()

Chrome 43 trở lên
chrome.webviewTag.getZoomMode(
  callback: function,
)
: void

Lấy chế độ thu phóng hiện tại.

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (ZoomMode: ZoomMode) => void

    • ZoomMode

      Chế độ thu phóng hiện tại của webview.

go()

chrome.webviewTag.go(
  relativeIndex: number,
  callback?: function,
)
: void

Chuyển đến một mục trong nhật ký bằng cách sử dụng chỉ mục nhật ký liên quan đến hoạt động điều hướng hiện tại. Nếu không thể thực hiện thao tác điều hướng được yêu cầu, thì phương thức này sẽ không có hiệu lực.

Thông số

  • relativeIndex

    số

    Chỉ mục nhật ký tương đối mà webview sẽ được chuyển đến. Ví dụ: giá trị 2 sẽ chuyển tiếp 2 mục nhật ký nếu có thể; giá trị -3 sẽ quay lại 3 mục.

  • callback

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    (success: boolean) => void

    • thành công

      boolean

      Cho biết liệu thao tác điều hướng có thành công hay không.

insertCSS()

chrome.webviewTag.insertCSS(
  details: InjectDetails,
  callback?: function,
)
: void

Chèn CSS vào trang khách.

Thông số

  • chi tiết

    Thông tin chi tiết về CSS cần chèn.

  • callback

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    () => void

isAudioMuted()

Chrome 62 trở lên
chrome.webviewTag.isAudioMuted(
  callback: function,
)
: void

Truy vấn xem âm thanh có bị tắt hay không.

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (muted: boolean) => void

    • đã tắt tiếng

      boolean

isSpatialNavigationEnabled()

Chrome 71 trở lên
chrome.webviewTag.isSpatialNavigationEnabled(
  callback: function,
)
: void

Truy vấn xem tính năng điều hướng không gian có được bật cho chế độ xem web hay không.

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (enabled: boolean) => void

    • đang bật

      boolean

isUserAgentOverridden()

chrome.webviewTag.isUserAgentOverridden(): void

Cho biết liệu chuỗi tác nhân người dùng của webview có bị webviewTag.setUserAgentOverride ghi đè hay không.

loadDataWithBaseUrl()

chrome.webviewTag.loadDataWithBaseUrl(
  dataUrl: string,
  baseUrl: string,
  virtualUrl?: string,
)
: void

Tải một URL dữ liệu có URL cơ sở được chỉ định dùng cho các đường liên kết tương đối. Bạn có thể cung cấp một URL ảo để hiển thị cho người dùng thay vì URL dữ liệu.

Thông số

  • dataUrl

    chuỗi

    URL dữ liệu cần tải.

  • baseUrl

    chuỗi

    URL cơ sở sẽ được dùng cho các đường liên kết tương đối.

  • virtualUrl

    chuỗi không bắt buộc

    URL sẽ hiển thị cho người dùng (trong thanh địa chỉ).

print()

chrome.webviewTag.print(): void

In nội dung của webview. Điều này tương đương với việc gọi hàm in theo tập lệnh từ chính webview.

reload()

chrome.webviewTag.reload(): void

Tải lại trang cấp cao nhất hiện tại.

removeContentScripts()

Chrome 44 trở lên
chrome.webviewTag.removeContentScripts(
  scriptNameList?: string[],
)
: void

Xoá tập lệnh nội dung khỏi webview.

Ví dụ sau đây xoá "myRule" đã được thêm trước đó.

webview.removeContentScripts(['myRule']);

Bạn có thể xoá tất cả quy tắc bằng cách gọi:

webview.removeContentScripts();

Thông số

  • scriptNameList

    string[] không bắt buộc

    Danh sách tên của các tập lệnh nội dung sẽ bị xoá. Nếu danh sách trống, tất cả tập lệnh nội dung được thêm vào webview sẽ bị xoá.

setAudioMuted()

Chrome 62 trở lên
chrome.webviewTag.setAudioMuted(
  mute: boolean,
)
: void

Đặt trạng thái tắt tiếng của chế độ xem web.

Thông số

  • tắt tiếng

    boolean

    Giá trị tắt tiếng

setSpatialNavigationEnabled()

Chrome 71 trở lên
chrome.webviewTag.setSpatialNavigationEnabled(
  enabled: boolean,
)
: void

Đặt trạng thái điều hướng không gian của chế độ xem web.

Thông số

  • đang bật

    boolean

    Giá trị trạng thái điều hướng không gian.

setUserAgentOverride()

chrome.webviewTag.setUserAgentOverride(
  userAgent: string,
)
: void

Ghi đè chuỗi tác nhân người dùng mà webview sử dụng cho các yêu cầu trang của khách. Việc ghi đè sẽ khiến các giá trị tiêu đề User-Agent Client Hints và các giá trị do navigator.userAgentData trả về bị trống đối với các yêu cầu trang khách mà chế độ ghi đè này được áp dụng.

Thông số

  • userAgent

    chuỗi

    Chuỗi tác nhân người dùng cần sử dụng.

setZoom()

chrome.webviewTag.setZoom(
  zoomFactor: number,
  callback?: function,
)
: void

Thay đổi hệ số thu phóng của trang. Phạm vi và tính ổn định của thay đổi này được xác định bằng chế độ thu phóng hiện tại của chế độ xem web (xem webviewTag.ZoomMode).

Thông số

  • zoomFactor

    số

    Hệ số thu phóng mới.

  • callback

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    () => void

setZoomMode()

Chrome 43 trở lên
chrome.webviewTag.setZoomMode(
  ZoomMode: ZoomMode,
  callback?: function,
)
: void

Đặt chế độ thu phóng của webview.

Thông số

  • ZoomMode

    Xác định cách xử lý thao tác thu phóng trong webview.

  • callback

    hàm không bắt buộc

    Tham số callback có dạng như sau:

    () => void

stop()

chrome.webviewTag.stop(): void

Dừng tải thao tác điều hướng webview hiện tại nếu đang diễn ra.

stopFinding()

chrome.webviewTag.stopFinding(
  action?: StopFindingAction,
)
: void

Kết thúc phiên tìm hiện tại (xoá tất cả phần được làm nổi bật) và huỷ tất cả yêu cầu tìm đang được xử lý.

Thông số

  • hành động

    StopFindingAction không bắt buộc

    Xác định việc cần làm với kết quả trùng khớp đang hoạt động sau khi phiên tìm kiếm kết thúc. clear sẽ xoá phần đánh dấu trên kết quả trùng khớp đang hoạt động; keep sẽ giữ nguyên phần đánh dấu trên kết quả trùng khớp đang hoạt động; activate sẽ giữ nguyên phần đánh dấu trên kết quả trùng khớp đang hoạt động và mô phỏng một lượt nhấp của người dùng vào kết quả trùng khớp đó. Thao tác mặc định là keep.

terminate()

chrome.webviewTag.terminate(): void

Buộc tắt tiến trình kết xuất của trang web khách. Điều này có thể ảnh hưởng đến nhiều thẻ webview trong ứng dụng hiện tại nếu các thẻ này có cùng một quy trình, nhưng sẽ không ảnh hưởng đến các thẻ webview trong những ứng dụng khác.

Sự kiện

close

chrome.webviewTag.close.addListener(
  callback: function,
)

Được kích hoạt khi cửa sổ khách cố gắng tự đóng.

Đoạn mã ví dụ sau đây sẽ điều hướng webview đến about:blank khi khách cố gắng tự đóng.

webview.addEventListener('close', function() {
  webview.src = 'about:blank';
});

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    () => void

consolemessage

chrome.webviewTag.consolemessage.addListener(
  callback: function,
)

Được kích hoạt khi cửa sổ khách ghi lại thông báo trên bảng điều khiển.

Mã ví dụ sau đây chuyển tiếp tất cả thông điệp nhật ký đến bảng điều khiển của trình nhúng mà không quan tâm đến cấp độ nhật ký hoặc các thuộc tính khác.

webview.addEventListener('consolemessage', function(e) {
  console.log('Guest page logged a message: ', e.message);
});

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (level: number, message: string, line: number, sourceId: string) => void

    • cấp độ

      số

    • tin nhắn

      chuỗi

    • tuyến

      số

    • sourceId

      chuỗi

contentload

chrome.webviewTag.contentload.addListener(
  callback: function,
)

Được kích hoạt khi cửa sổ khách kích hoạt sự kiện load, tức là khi một tài liệu mới được tải. Chỉ số này không bao gồm thao tác điều hướng trang trong tài liệu hiện tại hoặc tải tài nguyên không đồng bộ.

Đoạn mã ví dụ sau đây sửa đổi cỡ chữ mặc định của phần tử body của khách sau khi tải trang:

webview.addEventListener('contentload', function() {
  webview.executeScript({ code: 'document.body.style.fontSize = "42px"' });
});

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    () => void

dialog

chrome.webviewTag.dialog.addListener(
  callback: function,
)

Được kích hoạt khi cửa sổ khách cố gắng mở một hộp thoại phương thức thông qua window.alert, window.confirm hoặc window.prompt.

Việc xử lý sự kiện này sẽ chặn quy trình khách cho đến khi mỗi trình nghe sự kiện trả về hoặc không thể truy cập được đối tượng dialog (nếu preventDefault() được gọi).

Hành vi mặc định là huỷ hộp thoại.

Thông số

exit

chrome.webviewTag.exit.addListener(
  callback: function,
)

Được kích hoạt khi quá trình kết xuất nội dung trên web của khách đã thoát.

Mã ví dụ sau đây sẽ hiển thị thông báo tạm biệt bất cứ khi nào trang khách gặp sự cố:

webview.addEventListener('exit', function(e) {
  if (e.reason === 'crash') {
    webview.src = 'data:text/plain,Goodbye, world!';
  }
});

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (details: object) => void

    • chi tiết

      đối tượng

      • processID

        số

        Mã nhận dạng nội bộ của Chrome cho quy trình đã thoát.

      • lý do

        Chuỗi cho biết lý do thoát.

findupdate

chrome.webviewTag.findupdate.addListener(
  callback: function,
)

Được kích hoạt khi có kết quả tìm kiếm mới cho một yêu cầu tìm kiếm đang hoạt động. Điều này có thể xảy ra nhiều lần cho một yêu cầu tìm kiếm khi tìm thấy kết quả trùng khớp.

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (searchText: string, numberOfMatches: number, activeMatchOrdinal: number, selectionRect: SelectionRect, canceled: boolean, finalUpdate: string) => void

    • searchText

      chuỗi

    • numberOfMatches

      số

    • activeMatchOrdinal

      số

    • selectionRect
    • đã huỷ

      boolean

    • finalUpdate

      chuỗi

loadabort

chrome.webviewTag.loadabort.addListener(
  callback: function,
)

Được kích hoạt khi một lượt tải cấp cao nhất bị huỷ mà không cam kết. Thông báo lỗi sẽ được in ra bảng điều khiển, trừ phi sự kiện bị ngăn chặn theo mặc định.

Lưu ý: Khi quá trình tải tài nguyên bị huỷ, sự kiện loadabort cuối cùng sẽ được theo sau bởi sự kiện loadstop, ngay cả khi tất cả các lượt tải đã cam kết kể từ sự kiện loadstop gần đây nhất (nếu có) đều bị huỷ.

Lưu ý: Khi quá trình tải URL giới thiệu hoặc URL JavaScript bị huỷ, loadabort sẽ được kích hoạt và sau đó webview sẽ được chuyển đến "about:blank".

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (url: string, isTopLevel: boolean, code: number, reason: LoadAbortReason) => void

loadcommit

chrome.webviewTag.loadcommit.addListener(
  callback: function,
)

Được kích hoạt khi quá trình tải đã hoàn tất. Điều này bao gồm cả thao tác điều hướng trong tài liệu hiện tại cũng như các lượt tải ở cấp tài liệu của khung phụ, nhưng không bao gồm các lượt tải tài nguyên không đồng bộ.

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (url: string, isTopLevel: boolean) => void

    • url

      chuỗi

    • isTopLevel

      boolean

loadredirect

chrome.webviewTag.loadredirect.addListener(
  callback: function,
)

Được kích hoạt khi một yêu cầu tải cấp cao nhất đã chuyển hướng đến một URL khác.

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (oldUrl: string, newUrl: string, isTopLevel: boolean) => void

    • oldUrl

      chuỗi

    • newUrl

      chuỗi

    • isTopLevel

      boolean

loadstart

chrome.webviewTag.loadstart.addListener(
  callback: function,
)

Được kích hoạt khi quá trình tải bắt đầu.

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (url: string, isTopLevel: boolean) => void

    • url

      chuỗi

    • isTopLevel

      boolean

loadstop

chrome.webviewTag.loadstop.addListener(
  callback: function,
)

Được kích hoạt khi tất cả các lượt tải ở cấp khung trong trang khách (bao gồm cả tất cả khung phụ) đã hoàn tất. Điều này bao gồm cả thao tác điều hướng trong tài liệu hiện tại cũng như các lượt tải ở cấp tài liệu của khung phụ, nhưng không bao gồm các lượt tải tài nguyên không đồng bộ. Sự kiện này kích hoạt mỗi khi số lượt tải ở cấp tài liệu chuyển từ một (hoặc nhiều) sang không. Ví dụ: nếu một trang đã tải xong (tức là loadstop đã kích hoạt một lần) tạo một iframe mới tải trang, sau đó loadstop thứ hai sẽ kích hoạt khi quá trình tải trang iframe hoàn tất. Mẫu này thường thấy trên các trang tải quảng cáo.

Lưu ý: Khi một lượt tải đã cam kết bị huỷ, sự kiện loadstop cuối cùng sẽ theo sau sự kiện loadabort, ngay cả khi tất cả lượt tải đã cam kết kể từ sự kiện loadstop gần đây nhất (nếu có) đều bị huỷ.

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    () => void

newwindow

chrome.webviewTag.newwindow.addListener(
  callback: function,
)

Được kích hoạt khi trang khách cố gắng mở một cửa sổ trình duyệt mới.

Mã ví dụ sau đây sẽ tạo và điều hướng một webview mới trong trình nhúng cho mỗi cửa sổ mới được yêu cầu:

webview.addEventListener('newwindow', function(e) {
  var newWebview = document.createElement('webview');
  document.body.appendChild(newWebview);
  e.window.attach(newWebview);
});

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (window: NewWindow, targetUrl: string, initialWidth: number, initialHeight: number, name: string, windowOpenDisposition: WindowOpenDisposition) => void

permissionrequest

chrome.webviewTag.permissionrequest.addListener(
  callback: function,
)

Được kích hoạt khi trang khách cần yêu cầu quyền đặc biệt từ trình nhúng.

Đoạn mã ví dụ sau đây sẽ cấp cho trang khách quyền truy cập vào API webkitGetUserMedia. Xin lưu ý rằng ứng dụng sử dụng mã ví dụ này phải tự chỉ định quyền trong tệp kê khai audioCapture và/hoặc videoCapture:

webview.addEventListener('permissionrequest', function(e) {
  if (e.permission === 'media') {
    e.request.allow();
  }
});

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (permission: PermissionType, request: object) => void

responsive

chrome.webviewTag.responsive.addListener(
  callback: function,
)

Được kích hoạt khi quy trình kết xuất nội dung trên web của khách phản hồi trở lại sau khi không phản hồi.

Đoạn mã ví dụ sau đây sẽ làm mờ dần hoặc hiện rõ dần phần tử webview khi phần tử này phản hồi hoặc không phản hồi:

webview.style.webkitTransition = 'opacity 250ms';
webview.addEventListener('unresponsive', function() {
  webview.style.opacity = '0.5';
});
webview.addEventListener('responsive', function() {
  webview.style.opacity = '1';
});

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (processID: number) => void

    • processID

      số

sizechanged

chrome.webviewTag.sizechanged.addListener(
  callback: function,
)

Được kích hoạt khi nội dung trên web được nhúng đã được đổi kích thước thông qua autosize. Chỉ kích hoạt nếu autosize được bật.

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (oldWidth: number, oldHeight: number, newWidth: number, newHeight: number) => void

    • oldWidth

      số

    • oldHeight

      số

    • newWidth

      số

    • newHeight

      số

unresponsive

chrome.webviewTag.unresponsive.addListener(
  callback: function,
)

Được kích hoạt khi quá trình kết xuất nội dung trên web của khách không phản hồi. Sự kiện này sẽ được tạo một lần cùng với một sự kiện phản hồi tương ứng nếu khách bắt đầu phản hồi lại.

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (processID: number) => void

    • processID

      số

zoomchange

chrome.webviewTag.zoomchange.addListener(
  callback: function,
)

Được kích hoạt khi mức thu phóng của trang thay đổi.

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (oldZoomFactor: number, newZoomFactor: number) => void

    • oldZoomFactor

      số

    • newZoomFactor

      số