From 298c6fe3e033565ee74cc70847ab8612a2e48e0b Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 6 Sep 2023 23:05:17 +0530 Subject: [PATCH] E-book viewer: Fix clicking on links with empty destinations hanging the viewer. Fixes #2034404 [E-book viewer: error navigating calibre User Manual](https://bugs.launchpad.net/calibre/+bug/2034404) --- src/calibre/srv/render_book.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/calibre/srv/render_book.py b/src/calibre/srv/render_book.py index 0b7e11fb47..54acfdeff3 100644 --- a/src/calibre/srv/render_book.py +++ b/src/calibre/srv/render_book.py @@ -395,6 +395,8 @@ def transform_html(container, name, virtualize_resources, link_uid, link_to_map, href = a.get(attr) if href: href = link_replacer(name, href) + else: + a.set(attr, 'javascript:void(0)') if href and href.startswith(link_uid): a.set(attr, 'javascript:void(0)') parts = href.split('|') @@ -533,6 +535,8 @@ def virtualize_html(container, name, link_uid, link_to_map, virtualized_names): elif href: a.set('target', '_blank') a.set('rel', 'noopener noreferrer') + else: + a.set(attr, 'javascript:void(0)') for a in link_xpath(root): handle_link(a)