Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
mohamedkhallouq
GitHub Repository: mohamedkhallouq/content
Path: blob/main/files/en-us/mozilla/add-ons/webextensions/api/extension/onrequest/index.md
6552 views
---
title: extension.onRequest slug: Mozilla/Add-ons/WebExtensions/API/extension/onRequest page-type: webextension-api-event tags: - API - Add-ons - Event - Extension - Extensions - Non-standard - Reference - WebExtensions - onRequest browser-compat: webextensions.api.extension.onRequest
---

{{AddonSidebar()}}

Warning: This is not implemented in Firefox because it has been deprecated since Chrome 33. Please use runtime.onMessage instead.

Fired when a request is sent from either an extension process or a content script.

Syntax

chrome.extension.onRequest.addListener(function( request, // optional any sender, // runtime.MessageSender () => {/* … */} // function ) {/* … */}) chrome.extension.onRequest.removeListener(listener) chrome.extension.onRequest.hasListener(listener)

Events have three functions:

  • addListener(callback)

    • : 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.

addListener syntax

Parameters

  • callback

    • : Function that will be called when this event occurs. The function will be passed the following arguments:

      • request

        • : any. The request sent by the calling script.

      • sender

        • : {{WebExtAPIRef('runtime.MessageSender')}}.

      • sendResponse

        • : function. Function to call (at most once) when you have a response. The argument should be any JSON-ifiable object, or undefined if there is no response. If you have more than one onRequest listener in the same document, then only one may send a response.

Browser compatibility

{{Compat}}

{{WebExtExamples}}

Note: This API is based on Chromium's chrome.extension API. This documentation is derived from extension.json in the Chromium code.