Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Note
The features described in this document are no longer being maintained. For more information on the new WebView2 control, see Introduction to Microsoft Edge WebView2 (Preview).
Represents a deferred request by the content of the webview for end-user permission to access specialized device functionality (such as geolocation, or pointer lock).
// In this sample, when we receive a permission request we construct some basic UI to ask the
// user if they want to give permission.
webview.addEventListener("MSWebViewPermissionRequested", permissionRequestedEventArgs => {
const permissionRequest = permissionRequestedEventArgs.permissionRequest;
const requestContainer = document.createElement("div");
// We use this function as the handler for the allow and deny buttons.
function completeDeferredPermissionRequest(allow) {
// Find the DeferredPermissionRequest using the id of the PermissionRequest we deferred.
const deferredPermissionRequest = webview.getDeferredPermissionRequestById(permissionRequest.id);
if (allow) {
deferredPermissionRequest.allow();
}
else {
deferredPermissionRequest.deny();
}
requestContainer.parentElement.removeChild(requestContainer);
}
// Construct some simple UI to tell the user about the permission request and get their
// feedback via the allow and deny buttons
const description = document.createElement("span");
description.textContent = "Allow " + uri + " to access " + type + "?";
const allow = document.createElement("button");
allow.textContent = "Allow";
allow.addEventListener("click", () => completeDeferredPermissionRequest(true));
const deny = document.createElement("button");
deny.textContent = "Deny";
deny.addEventListener("click", () => completeDeferredPermissionRequest(false));
requestContainer.appendChild(description);
requestContainer.appendChild(allow);
requestContainer.appendChild(deny);
document.body.appendChild(requestContainer);
permissionRequest.defer();
});
Methods
allow
Allows the request for permission.
deferredPermissionRequest.allow();
Parameters
This method has no parameters.
Return value
This method does not return a value.
deny
Denies the request for permission.
deferredPermissionRequest.deny();
Parameters
This method has no parameters.
Return value
This method does not return a value.
Properties
id
A unique ID that can be used to correlate the current DeferredPermissionRequest with a PermissionRequest object from a previous MSWebViewPermissionRequested event. See the PermissionRequested.defer method.
This property is read-only.
var id = deferredPermissionRequest.id;
Property value
Type: Unsigned long
type
The type of permission being requested. This may be one of the following string values:
- geolocation: access to location data via navigator.geolocation.
- unlimitedIndexedDBQuota: allow IndexedDB APIs to ignore the usual stored data size limit.
- media: access to the microphone and camera via navigator.getUserMedia.
- pointerlock: ability to lock and control the mouse pointer via Element.requestPointerLock.
- webnotifications: ability to show desktop notifications via window.Notification.
- screen: ability to take screen shots via the Media Capture API.
- immersiveview: ability to control a VR display.
This property is read-only.
var type = deferredPermissionRequest.type;
Property value
Type: String
uri
The Uniform Resource Identifier (URI) of the document requesting permission.
This property is read-only.
var uri = deferredPermissionRequest.uri;
Property value
Type: String
Requirements
Minimum supported client | Windows 10 [Windows Store apps only] |
Minimum supported server | Not supported |
Minimum supported phone | Not supported |