mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-07 18:24:30 -04:00
Avoid unnecessary replace on JS
Also makes the JS available for use in Web Workers
This commit is contained in:
parent
8988cbcf56
commit
d0c34d2131
@ -32,13 +32,6 @@ __BS__
|
||||
'''.replace('end_script', '<' + '/script>') # cannot have a closing script tag as this is embedded inside a script tag in index.html
|
||||
|
||||
|
||||
def iframe_js():
|
||||
if not iframe_js.ans:
|
||||
iframe_js.ans = main_js().replace(/is_running_in_iframe\s*=\s*false/, 'is_running_in_iframe = true')
|
||||
main_js(None)
|
||||
return iframe_js.ans
|
||||
|
||||
|
||||
class Messenger:
|
||||
|
||||
def __init__(self):
|
||||
@ -91,7 +84,7 @@ class IframeWrapper:
|
||||
if self.entry_point:
|
||||
data = {
|
||||
'BS': self.bootstrap_text,
|
||||
'SCRIPT': iframe_js(),
|
||||
'SCRIPT': main_js(),
|
||||
'FONT': get_font_family(),
|
||||
'ENTRY_POINT': self.entry_point,
|
||||
}
|
||||
|
@ -9,11 +9,11 @@ from autoreload import create_auto_reload_watcher
|
||||
from book_list.globals import main_js
|
||||
from book_list.main import main
|
||||
|
||||
is_running_in_iframe = False # Changed before script is loaded in the iframe
|
||||
autoreload_enabled = False
|
||||
AUTO_UPDATE_THRESHOLD = 1000 # millisecs
|
||||
|
||||
if is_running_in_iframe:
|
||||
|
||||
def iframe_main():
|
||||
script = document.getElementById('bootstrap')
|
||||
if script:
|
||||
script.parentNode.removeChild(script) # free up some memory
|
||||
@ -23,9 +23,9 @@ if is_running_in_iframe:
|
||||
main()
|
||||
else:
|
||||
console.log('iframe entry_point ' + window.iframe_entry_point + ' not found')
|
||||
else:
|
||||
start_time = window.performance.now()
|
||||
|
||||
|
||||
def toplevel_main():
|
||||
script = document.currentScript or document.scripts[0]
|
||||
main_js(script.textContent)
|
||||
script.parentNode.removeChild(script) # save some memory
|
||||
@ -52,3 +52,10 @@ else:
|
||||
if data.allow_console_print:
|
||||
print = console_print
|
||||
).send() # We must bypass cache as otherwise we could get stale info
|
||||
|
||||
if document?:
|
||||
iframe_script = document.getElementById('bootstrap')
|
||||
if iframe_script:
|
||||
iframe_main()
|
||||
else:
|
||||
toplevel_main()
|
||||
|
Loading…
x
Reference in New Issue
Block a user