From c4b990dbdfd8706d32d1ab886522d4628cf6b15b Mon Sep 17 00:00:00 2001 From: "Robin Lejeune (role)" Date: Fri, 8 Mar 2024 17:08:50 +0100 Subject: [PATCH] [FIX] website: fix traceback on refresh Commit [1] made it possible to stay in the backend while refreshing the page with F5 or CTRL+R when viewing a Website Preview. Pressing it too fast when the page is still loading and the iframe isn't loaded yet triggers a traceback. This commit falls back to the default refresh in such cases. [1]: https://github.com/odoo/odoo/commit/e69c6eaed4e82e08d6bbf807cf4698f6327a9cdd task-3795143 closes odoo/odoo#158314 X-original-commit: c81dfa7dda95a8d63b4abba9ce67d7f3e48af935 Signed-off-by: Arthur Detroux (ard) Signed-off-by: Robin Lejeune (role) --- .../src/client_actions/website_preview/website_preview.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/addons/website/static/src/client_actions/website_preview/website_preview.js b/addons/website/static/src/client_actions/website_preview/website_preview.js index c68bcc85678..d76bb59ef29 100644 --- a/addons/website/static/src/client_actions/website_preview/website_preview.js +++ b/addons/website/static/src/client_actions/website_preview/website_preview.js @@ -553,6 +553,10 @@ export class WebsitePreview extends Component { if (hotkey !== 'control+r' && hotkey !== 'f5') { return; } + // The iframe isn't loaded yet: fallback to default refresh. + if (this.websiteService.contentWindow === undefined) { + return; + } ev.preventDefault(); const path = this.websiteService.contentWindow.location; const debugMode = this.env.debug ? `?debug=${this.env.debug}` : "";