From c54985c89a8e9a5adf6c80790d217441f80fc946 Mon Sep 17 00:00:00 2001 From: Arthur Huan Date: Sun, 5 Nov 2023 15:43:26 -0700 Subject: Update Messenger link handling (#446) --- recipes/messenger/webview.js | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) (limited to 'recipes/messenger/webview.js') diff --git a/recipes/messenger/webview.js b/recipes/messenger/webview.js index 39ea098..781436b 100644 --- a/recipes/messenger/webview.js +++ b/recipes/messenger/webview.js @@ -14,7 +14,7 @@ function hideInstallMessage() { } } -module.exports = Ferdium => { +module.exports = (Ferdium, settings) => { const getMessages = () => { let count = 0; let newMessengerUI = false; @@ -101,4 +101,29 @@ module.exports = Ferdium => { return notification; }); } + + document.addEventListener( + 'click', + event => { + const link = event.target.closest('a[href^="http"]'); + const button = event.target.closest('button[title^="http"]'); + + if (link || button) { + const url = link + ? link.getAttribute('href') + : button.getAttribute('title'); + + event.preventDefault(); + event.stopPropagation(); + + if (url.includes('fbsbx.com') || settings.trapLinkClicks === true) { + // 'fbsbx.com is Facebook file hosting service. Always open file downloads in Ferdium. + window.location.href = url; + } else { + Ferdium.openNewWindow(url); + } + } + }, + true, + ); }; -- cgit v1.2.3-54-g00ecf