From 9e8c306b3edbda071cdd9cc93bcc45055789ad42 Mon Sep 17 00:00:00 2001 From: hkcomori Date: Tue, 25 Mar 2025 18:18:33 +0900 Subject: JavaScript: new event to detect context loaded (#7452) * Add JavaScript event: freshrss:globalContextLoaded * Update docs * Update docs: fix typo --- docs/en/developers/03_Backend/05_Extensions.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'docs') diff --git a/docs/en/developers/03_Backend/05_Extensions.md b/docs/en/developers/03_Backend/05_Extensions.md index 2a4c4dcf0..cf0fa3386 100644 --- a/docs/en/developers/03_Backend/05_Extensions.md +++ b/docs/en/developers/03_Backend/05_Extensions.md @@ -183,6 +183,24 @@ The following events are available: > ℹ️ Note: the `simplepie_*` hooks are only fired for feeds using SimplePie via pull, i.e. normal RSS/Atom feeds. This excludes WebSub (push), and the various HTML or JSON Web scraping methods. +### JavaScript events + +```javascript +function use_context() { + // Something that refers to the window.context +} + +if (document.readyState && document.readyState !== 'loading' && typeof window.context !== 'undefined' && typeof window.context.extensions !== 'undefined') { + use_context(); +} else { + document.addEventListener('freshrss:globalContextLoaded', use_context, false); +} +``` + +The following events are available: + +* `freshrss:globalContextLoaded`: will be dispatched after load the global `context` variable, useful for referencing variables injected with the `js_vars` hook. + ### Injecting CDN content When using the `init` method, it is possible to inject scripts from CDN using the `Minz_View::appendScript` directive. -- cgit v1.2.3