39 lines
1.1 KiB
JavaScript
39 lines
1.1 KiB
JavaScript
/** @odoo-module **/
|
|
|
|
/**
|
|
* This module intercepts clicks on external Odoo links to prevent
|
|
* referrer leakage when users click help/documentation/upgrade links.
|
|
*/
|
|
|
|
import { browser } from "@web/core/browser/browser";
|
|
|
|
// Store original window.open
|
|
const originalOpen = browser.open;
|
|
|
|
// Override browser.open to add referrer protection
|
|
browser.open = function(url, target, features) {
|
|
if (url && typeof url === 'string') {
|
|
const urlLower = url.toLowerCase();
|
|
|
|
// Check if it's an Odoo external link
|
|
const odooPatterns = [
|
|
'odoo.com',
|
|
'odoo.sh',
|
|
'accounts.odoo',
|
|
];
|
|
|
|
const isOdooLink = odooPatterns.some(pattern => urlLower.includes(pattern));
|
|
|
|
if (isOdooLink) {
|
|
// For Odoo links, open with noreferrer to prevent leaking your domain
|
|
const newWindow = originalOpen.call(this, url, target || '_blank', 'noopener,noreferrer');
|
|
return newWindow;
|
|
}
|
|
}
|
|
|
|
return originalOpen.call(this, url, target, features);
|
|
};
|
|
|
|
console.log('[disable_odoo_online] External link protection loaded');
|
|
|