mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-07 18:24:30 -04:00
Content server: Fix jumping to locations such as bookmarks not working on iPhone/iPad running iOS >= 15. Fixes #1989722 [Calibre Content Server: Opening bookmarks on Safari iOS not working](https://bugs.launchpad.net/calibre/+bug/1989722)
This commit is contained in:
parent
7ceb4caa8c
commit
497b8e4803
@ -5,7 +5,7 @@ from __python__ import bound_methods, hash_literals
|
||||
FUNCTIONS = 'x y scroll_to scroll_into_view reset_globals __reset_transforms window_scroll_pos content_size'.split(' ')
|
||||
|
||||
from read_book.globals import get_boss, viewport_mode_changer
|
||||
from utils import document_height, document_width, is_ios
|
||||
from utils import document_height, document_width, ios_major_version
|
||||
|
||||
class ScrollViewport:
|
||||
|
||||
@ -321,7 +321,7 @@ class IOSScrollViewport(ScrollViewport):
|
||||
self.__reset_transforms()
|
||||
|
||||
|
||||
if is_ios:
|
||||
if 1 < ios_major_version < 15:
|
||||
scroll_viewport = IOSScrollViewport()
|
||||
else:
|
||||
scroll_viewport = ScrollViewport()
|
||||
|
@ -8,9 +8,14 @@ from book_list.theme import get_font_family
|
||||
|
||||
|
||||
is_ios = v'!!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform)'
|
||||
ios_major_version = 0
|
||||
if !is_ios and v'!!navigator.platform' and window? and window.navigator.platform is 'MacIntel' and window.navigator.maxTouchPoints > 1:
|
||||
# iPad Safari in desktop mode https://stackoverflow.com/questions/57765958/how-to-detect-ipad-and-ipad-os-version-in-ios-13-and-up
|
||||
is_ios = True
|
||||
if is_ios:
|
||||
v = v'navigator.appVersion.match(/OS (\d+)/)'
|
||||
if v and v[1]:
|
||||
ios_major_version = parseInt(v[1], 10) or 0
|
||||
|
||||
|
||||
def default_context_menu_should_be_allowed(evt):
|
||||
|
Loading…
x
Reference in New Issue
Block a user