≡ messageDisplayScripts API
≡ Related examples on Github
This message display scripts API is the same as the content scripts API except that it works on the document of email messages being displayed.
See also :ref:`executeScript <tabs.executeScript>`, :ref:`insertCSS <tabs.insertCSS>`, :ref:`removeCSS <tabs.removeCSS>`, and :doc:`composeScripts`.
Note
Registering a message display script in the manifest.json file is not possible at this point.
.. rst-class:: api-main-section
.. api-member:: :name: :permission:`messagesModify` Read and modify your email messages as they are displayed to you
.. api-member:: :name: :permission:`sensitiveDataUpload` Transfer sensitive user data (if access has been granted) to a remote server for further processing
.. rst-class:: api-permission-info
Note
The permission messagesModify is required to use messenger.messageDisplayScripts.*
.
.. rst-class:: api-main-section
.. api-section-annotation-hack::
Register a message display script programmatically. Note: Registered scripts will only be applied to newly opened messages. To apply the script to already open messages, manually inject your script by calling :ref:`tabs.executeScript` for each of the open messageDisplay tabs.
.. api-header:: :label: Parameters .. api-member:: :name: ``messageDisplayScriptOptions`` :type: (:ref:`messageDisplayScripts.RegisteredMessageDisplayScriptOptions`)
.. api-header:: :label: Required permissions - :permission:`messagesModify`
.. rst-class:: api-main-section
.. api-section-annotation-hack::
An object that represents a message display script registered programmatically
.. api-header:: :label: object - ``unregister()`` Unregister a message display script registered programmatically
.. api-section-annotation-hack::
Details of a message display script registered programmatically
.. api-header:: :label: object .. api-member:: :name: [``css``] :type: (array of :ref:`messageDisplayScripts.extensionTypes.ExtensionFileOrCode`, optional) The list of CSS files to inject .. api-member:: :name: [``js``] :type: (array of :ref:`messageDisplayScripts.extensionTypes.ExtensionFileOrCode`, optional) The list of JavaScript files to inject .. api-member:: :name: [``runAt``] :type: (`string`, optional) Determines when the files specified in css and js are injected. The states directly correspond to :code:`Document.readyState`: :value:`loading`, :value:`interactive` and :value:`complete` Supported values: .. api-member:: :name: :value:`document_start` .. api-member:: :name: :value:`document_end` .. api-member:: :name: :value:`document_idle`
.. rst-class:: api-main-section
The following types are not defined by this API, but by the underlying Mozilla WebExtension code base. They are included here, because there is no other public documentation available.
.. api-section-annotation-hack::
Specify code, either by pointing to a file or by providing the code directly. Only one of the two is allowed.
.. api-header:: :label: object .. api-member:: :name: ``code`` :type: (string) Some JavaScript code to register. .. api-member:: :name: ``file`` :type: (string) A URL starting at the extension's manifest.json and pointing to a JavaScript file to register.