Fired when a network request has finished and its details are available to the extension.
The request is given as a HAR entry object, which is also given an asynchronous getContent()
method that gets the response body content.
Note that although your extension can add a listener at any time, it will only start firing after the user has activated the browser's network panel at least once.
Syntax
browser.devtools.network.onRequestFinished.addListener(listener)
browser.devtools.network.onRequestFinished.removeListener(listener)
browser.devtools.network.onRequestFinished.hasListener(listener)
Events have three functions:
-
addListener(listener)
-
Adds a listener to this event.
-
removeListener(listener)
-
Stop listening to this event. The listener
argument is the listener to remove.
-
hasListener(listener)
-
Check whether listener
is registered for this event. Returns true
if it is listening, false
otherwise.
Parameters
-
callback
-
Function that will be called when this event occurs. The function will be passed the following arguments:
-
request
-
object
. An object representing the request. This object is a single HAR entry object. It also defines an asynchronous getContent()
method, which returns a Promise
that resolves with an array of two elements. The first element is the HTTP response body as a string, while the second element is the MIME type of the HTTP response also as a string.
Browser compatibility
|
Desktop |
Mobile |
|
Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
WebView Android |
Chrome Android |
Firefox for Android |
Opera Android |
Safari on IOS |
Samsung Internet |
onRequestFinished |
Yes |
79 |
61
60–61This event will only start firing after the user has activated the browser's network panel at least once.
|
? |
Yes |
No |
? |
? |
No |
? |
No |
? |
Examples
Add a listener that logs the server IP address and response body for every network request.
function handleRequestFinished(request) {
console.log("Server IP: ", request.serverIPAddress);
request.getContent().then(([content, mimeType]) => {
console.log("Content: ", content);
console.log("MIME type: ", mimeType);
});
}
browser.devtools.network.onRequestFinished.addListener(handleRequestFinished);