Explorar o código

전역 defer 사용

잉여개발기 (SPDV) %!s(int64=2) %!d(string=hai) anos
pai
achega
12e83741c4

+ 1 - 1
route/bbs_w_post.py

@@ -294,7 +294,7 @@ def bbs_w_post(bbs_num = '', post_num = ''):
                     <form method="post">
                         ''' + bbs_comment_form + '''
                     </form>
-                    <script src="/views/main_css/js/route/bbs_w_post.js''' + cache_v() + '''"></script>
+                    <script defer src="/views/main_css/js/route/bbs_w_post.js''' + cache_v() + '''"></script>
                 '''
 
                 return easy_minify(conn, flask.render_template(skin_check(conn),

+ 5 - 3
route/edit.py

@@ -90,9 +90,11 @@ def edit_editor(conn, ip, data_main = '', do_type = 'edit', addon = '', name = '
         <hr class="main_hr">
 
         <script>
-            do_stop_exit();
-            do_paste_image();
-            ''' + add_script + '''
+            window.addEventListener('DOMContentLoaded', function() {
+                do_stop_exit();
+                do_paste_image();
+                ''' + add_script + '''
+            });
         </script>
                         
         <button id="opennamu_save_button" type="submit" onclick="do_stop_exit_release();">''' + get_lang(conn, 'send') + '''</button>

+ 2 - 2
route/n_bbs_in.py

@@ -17,8 +17,8 @@ def bbs_in(bbs_num = 1, page = 1):
             imp = [bbs_name, wiki_set(conn), wiki_custom(conn), wiki_css(['(' + get_lang(conn, 'bbs') + ') (' + str(page) + ')', 0])],
             data = '' + \
                 '<div id="opennamu_bbs_in"></div>' + \
-                '<script src="/views/main_css/js/route/bbs_in.js' + cache_v() + '"></script>' + \
-                '<script>opennamu_bbs_in();</script>' + \
+                '<script defer src="/views/main_css/js/route/bbs_in.js' + cache_v() + '"></script>' + \
+                '<script>window.addEventListener("DOMContentLoaded", function() { opennamu_bbs_in(); });</script>' + \
             '',
             menu = [['bbs/main', get_lang(conn, 'return')], ['bbs/edit/' + bbs_num_str, get_lang(conn, 'add')], ['bbs/set/' + bbs_num_str, get_lang(conn, 'bbs_set')]]
         ))

+ 2 - 2
route/n_bbs_main.py

@@ -6,8 +6,8 @@ def bbs_main():
             imp = [get_lang(conn, 'bbs_main'), wiki_set(conn), wiki_custom(conn), wiki_css([0, 0])],
             data = '' + \
                 '<div id="opennamu_bbs_main"></div>' + \
-                '<script src="/views/main_css/js/route/bbs_main.js' + cache_v() + '"></script>' + \
-                '<script>opennamu_bbs_main();</script>' + \
+                '<script defer src="/views/main_css/js/route/bbs_main.js' + cache_v() + '"></script>' + \
+                '<script>window.addEventListener("DOMContentLoaded", function() { opennamu_bbs_main(); });</script>' + \
             '',
             menu = [['other', get_lang(conn, 'other_tool')]] + ([['bbs/make', get_lang(conn, 'add')]] if admin_check(conn) == 1 else [])
         ))

+ 2 - 2
route/n_list_old_page.py

@@ -12,8 +12,8 @@ def list_old_page(num = 1, set_type = 'old'):
             imp = [title, wiki_set(conn), wiki_custom(conn), wiki_css([0, 0])],
             data = '' + \
                 '<div id="opennamu_list_old_page"></div>' + \
-                '<script src="/views/main_css/js/route/list_old_page.js' + cache_v() + '"></script>' + \
-                '<script>opennamu_list_old_page();</script>' + \
+                '<script defer src="/views/main_css/js/route/list_old_page.js' + cache_v() + '"></script>' + \
+                '<script>window.addEventListener("DOMContentLoaded", function() { opennamu_list_old_page(); });</script>' + \
             '',
             menu = [['other', get_lang(conn, 'return')]]
         ))

+ 2 - 2
route/n_list_recent_change.py

@@ -6,8 +6,8 @@ def list_recent_change(num = 1, set_type = 'normal'):
             imp = [get_lang(conn, 'recent_change'), wiki_set(conn), wiki_custom(conn), wiki_css(['(' + get_lang(conn, set_type) + ')', 0])],
             data = '' + \
                 '<div id="opennamu_list_recent_change"></div>' + \
-                '<script src="/views/main_css/js/route/list_recent_change.js' + cache_v() + '"></script>' + \
-                '<script>opennamu_list_recent_change();</script>' + \
+                '<script defer src="/views/main_css/js/route/list_recent_change.js' + cache_v() + '"></script>' + \
+                '<script>window.addEventListener("DOMContentLoaded", function() { opennamu_list_recent_change(); });</script>' + \
             '',
             menu = [['other', get_lang(conn, 'return')], ['recent_edit_request', get_lang(conn, 'edit_request')]]
         ))

+ 2 - 2
route/n_list_recent_discuss.py

@@ -12,8 +12,8 @@ def list_recent_discuss(num = 1, tool = 'normal'):
             imp = [get_lang(conn, 'recent_discussion'), wiki_set(conn), wiki_custom(conn), wiki_css([m_sub, 0])],
             data = '' + \
                 '<div id="opennamu_list_recent_discuss"></div>' + \
-                '<script src="/views/main_css/js/route/list_recent_discuss.js' + cache_v() + '"></script>' + \
-                '<script>opennamu_list_recent_discuss();</script>' + \
+                '<script defer src="/views/main_css/js/route/list_recent_discuss.js' + cache_v() + '"></script>' + \
+                '<script>window.addEventListener("DOMContentLoaded", function() { opennamu_list_recent_discuss(); });</script>' + \
             '',
             menu = [['other', get_lang(conn, 'return')]]
         ))

+ 2 - 2
route/n_topic_list.py

@@ -6,8 +6,8 @@ def topic_list(page = 1, name = 'Test'):
             imp = [name, wiki_set(conn), wiki_custom(conn), wiki_css(['(' + get_lang(conn, 'discussion_list') + ')', 0])],
             data = '' + \
                 '<div id="opennamu_topic_list"></div>' + \
-                '<script src="/views/main_css/js/route/topic_list.js' + cache_v() + '"></script>' + \
-                '<script>opennamu_topic_list();</script>' + \
+                '<script defer src="/views/main_css/js/route/topic_list.js' + cache_v() + '"></script>' + \
+                '<script>window.addEventListener("DOMContentLoaded", function() { opennamu_topic_list(); });</script>' + \
             '',
             menu = [['w/' + url_pas(name), get_lang(conn, 'document')]]
         ))

+ 2 - 2
route/n_w_watch_list.py

@@ -6,8 +6,8 @@ def w_watch_list(name, num = 1, do_type = 'watch_list'):
             imp = [name, wiki_set(conn), wiki_custom(conn), wiki_css(['(' + get_lang(conn, do_type if do_type == 'star_doc' else 'watchlist') + ')', 0])],
             data = '' + \
                 '<div id="opennamu_w_watch_list"></div>' + \
-                '<script src="/views/main_css/js/route/w_watch_list.js' + cache_v() + '"></script>' + \
-                '<script>opennamu_w_watch_list(' + str(num) + ');</script>' + \
+                '<script defer src="/views/main_css/js/route/w_watch_list.js' + cache_v() + '"></script>' + \
+                '<script>window.addEventListener("DOMContentLoaded", function() { opennamu_w_watch_list(); });</script>' + \
             '',
             menu = [['w/' + url_pas(name), get_lang(conn, 'return')]]
         ))

+ 9 - 9
route/tool/func.py

@@ -979,7 +979,7 @@ def easy_minify(conn, data, tool = None):
             return data
             
         return '''
-            <script src="/views/main_css/js/route/wiki_access_password.js''' + cache_v() + '''"></script>
+            <script defer src="/views/main_css/js/route/wiki_access_password.js''' + cache_v() + '''"></script>
             <h2>''' + get_lang(conn, 'error_password_require_for_wiki_access') + '''</h2>
             <input type="password" id="wiki_access">
             <input type="submit" onclick="opennamu_do_wiki_access();">
@@ -1088,13 +1088,13 @@ def wiki_css(data):
         data_css += '<meta http-equiv="Cache-Control" content="max-age=3600">'
 
         # External JS
-        data_css += '<script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.9/katex.min.js" integrity="sha512-LQNxIMR5rXv7o+b1l8+N1EZMfhG7iFZ9HhnbJkTp4zjNr5Wvst75AqUeFDxeRUa7l5vEDyUiAip//r+EFLLCyA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>'
-        data_css += '<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js" integrity="sha512-rdhY3cbXURo13l/WU9VlaRyaIYeJ/KBakckXIvJNAQde8DgpOmE+eZf7ha4vdqVjTtwQt69bD2wH2LXob/LB7Q==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>'
-        data_css += '<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/languages/x86asm.min.js" integrity="sha512-HeAchnWb+wLjUb2njWKqEXNTDlcd1QcyOVxb+Mc9X0bWY0U5yNHiY5hTRUt/0twG8NEZn60P3jttqBvla/i2gA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>'
-        data_css += '<script src="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.41.0/min/vs/loader.min.js" integrity="sha512-A+6SvPGkIN9Rf0mUXmW4xh7rDvALXf/f0VtOUiHlDUSPknu2kcfz1KzLpOJyL2pO+nZS13hhIjLqVgiQExLJrw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>'
+        data_css += '<script defer src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.9/katex.min.js" integrity="sha512-LQNxIMR5rXv7o+b1l8+N1EZMfhG7iFZ9HhnbJkTp4zjNr5Wvst75AqUeFDxeRUa7l5vEDyUiAip//r+EFLLCyA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>'
+        data_css += '<script defer src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js" integrity="sha512-rdhY3cbXURo13l/WU9VlaRyaIYeJ/KBakckXIvJNAQde8DgpOmE+eZf7ha4vdqVjTtwQt69bD2wH2LXob/LB7Q==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>'
+        data_css += '<script defer src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/languages/x86asm.min.js" integrity="sha512-HeAchnWb+wLjUb2njWKqEXNTDlcd1QcyOVxb+Mc9X0bWY0U5yNHiY5hTRUt/0twG8NEZn60P3jttqBvla/i2gA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>'
+        data_css += '<script defer src="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.41.0/min/vs/loader.min.js" integrity="sha512-A+6SvPGkIN9Rf0mUXmW4xh7rDvALXf/f0VtOUiHlDUSPknu2kcfz1KzLpOJyL2pO+nZS13hhIjLqVgiQExLJrw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>'
 
         # Func JS
-        data_css += '<script src="/views/main_css/js/func/func.js' + data_css_ver + '"></script>'
+        data_css += '<script defer src="/views/main_css/js/func/func.js' + data_css_ver + '"></script>'
         
         data_css += '<script defer src="/views/main_css/js/func/insert_version.js' + data_css_ver + '"></script>'
         data_css += '<script defer src="/views/main_css/js/func/insert_user_info.js' + data_css_ver + '"></script>'
@@ -1103,8 +1103,8 @@ def wiki_css(data):
         
         data_css += '<script defer src="/views/main_css/js/func/ie_end_of_life.js' + data_css_ver + '"></script>'
         data_css += '<script defer src="/views/main_css/js/func/shortcut.js' + data_css_ver + '"></script>'
-        data_css += '<script src="/views/main_css/js/func/editor.js' + data_css_ver + '"></script>'
-        data_css += '<script src="/views/main_css/js/func/render.js' + data_css_ver + '"></script>'
+        data_css += '<script defer src="/views/main_css/js/func/editor.js' + data_css_ver + '"></script>'
+        data_css += '<script defer src="/views/main_css/js/func/render.js' + data_css_ver + '"></script>'
         
         # Main CSS
         data_css += '<link rel="stylesheet" href="/views/main_css/css/main.css' + data_css_ver + '">'
@@ -1463,7 +1463,7 @@ def render_set(conn, doc_name = '', doc_data = '', data_type = 'view', markup =
     if not return_type:
         return [get_class_render[0], get_class_render[1]]
     else:
-        return get_class_render[0] + '<script>' + get_class_render[1] + '</script>'
+        return get_class_render[0] + '<script>window.addEventListener("DOMContentLoaded", function() {' + get_class_render[1] + '});</script>'
         
 def render_simple_set(conn, data):
     # without_DB

+ 5 - 3
route/topic.py

@@ -129,7 +129,7 @@ def topic(topic_num = 0, do_type = '', doc_name = 'Test'):
             return easy_minify(conn, flask.render_template(skin_check(conn),
                 imp = [name, wiki_set(conn), wiki_custom(conn), wiki_css(['(' + get_lang(conn, 'discussion') + ')', 0])],
                 data = '''
-                    <script src="/views/main_css/js/route/topic.js''' + cache_v() + '''"></script>
+                    <script defer src="/views/main_css/js/route/topic.js''' + cache_v() + '''"></script>
                     <style id="opennamu_remove_blind">
                         .opennamu_comment_blind_js {
                             display: none;
@@ -145,8 +145,10 @@ def topic(topic_num = 0, do_type = '', doc_name = 'Test'):
                     <div id="opennamu_main_thread"></div>
                     <div id="opennamu_reload_thread"></div>
                     <script>
-                        opennamu_get_thread("''' + topic_num + '''", "top");
-                        opennamu_get_thread("''' + topic_num + '''");
+                        window.addEventListener("DOMContentLoaded", function() { 
+                            opennamu_get_thread("''' + topic_num + '''", "top");
+                            opennamu_get_thread("''' + topic_num + '''");
+                        });
                     </script>
 
                     <a href="javascript:opennamu_thread_blind();">(''' + get_lang(conn, 'hide') + ''' | ''' + get_lang(conn, 'hide_release') + ''')</a> 

+ 1 - 1
route/view_set.py

@@ -230,7 +230,7 @@ def view_set(name = 'Test'):
                 imp = [name, wiki_set(conn), wiki_custom(conn), wiki_css(['(' + get_lang(conn, 'setting') + ')', 0])],
                 data = '''
                     <form method="post">
-                        <script src="/views/main_css/js/route/w_set.js''' + cache_v() + '''"></script>
+                        <script defer src="/views/main_css/js/route/w_set.js''' + cache_v() + '''"></script>
                         <a href="/setting/acl">(''' + get_lang(conn, 'main_acl_setting') + ''')</a>
                         <hr class="main_hr">
                         ''' + render_simple_set(conn, data) + '''

+ 2 - 2
route/view_w.py

@@ -176,8 +176,8 @@ def view_w(name = 'Test', do_type = ''):
         end_data = '''
             <div id="opennamu_preview_area">
                 <textarea id="opennamu_editor_doc_name" style="display: none;">''' + html.escape(name) + '''</textarea>
-                <script src="/views/main_css/js/route/w.js''' + cache_v() + '''"></script>
-                <script>opennamu_w("''' + ('from' if do_type == 'from' else '') + '''");</script>
+                <script defer src="/views/main_css/js/route/w.js''' + cache_v() + '''"></script>
+                <script>window.addEventListener("DOMContentLoaded", function() { opennamu_w("''' + ('from' if do_type == 'from' else '') + '''"); });</script>
             </div>
         '''
 

+ 2 - 2
route/view_w_raw.py

@@ -15,13 +15,13 @@ def view_w_raw(name = '', rev = '', doc_acl = ''):
         p_data = ''
         p_data += '''
             <div id="opennamu_preview_area">
-                <script src="/views/main_css/js/route/w_raw.js''' + cache_v() + '''"></script>
+                <script defer src="/views/main_css/js/route/w_raw.js''' + cache_v() + '''"></script>
                 <textarea id="opennamu_editor_doc_name" style="display: none;">''' + html.escape(name) + '''</textarea>
                 <textarea id="opennamu_editor_rev" style="display: none;">''' + rev_str + '''</textarea>
                 <button id="opennamu_preview_button" type="button" onclick="opennamu_w_raw_preview();">''' + get_lang(conn, 'preview') + '''</button>
                 <hr class="main_hr">
                 <textarea readonly id="opennamu_edit_textarea" class="opennamu_textarea_500"></textarea>
-                <script>opennamu_w_raw();</script>
+                <script>window.addEventListener("DOMContentLoaded", function() { opennamu_w_raw(); });</script>
             </div>
         '''
         

+ 1 - 1
version.json

@@ -1,6 +1,6 @@
 {
     "beta" : {
-        "r_ver" : "v3.5.0-dev95",
+        "r_ver" : "v3.5.0-dev96",
         "c_ver" : "3500379",
         "s_ver" : "3500113"
     }

+ 4 - 4
views/ringo/index.html

@@ -9,10 +9,10 @@
         {% endif %}
         {{imp[3][3]|safe}}
         <link href="https://cdn.jsdelivr.net/gh/sun-typeface/SUIT/fonts/static/woff2/SUIT.css" rel="stylesheet">
-        <script src="https://code.iconify.design/1/1.0.3/iconify.min.js"></script>
-        <script src="/views/ringo/js/main.js.cache_v2"></script>
-        <script src="/views/ringo/js/sidebar.js.cache_v3"></script>
-        <script src="/views/ringo/js/skin_set.js.cache_v5"></script>
+        <script defer src="https://code.iconify.design/1/1.0.3/iconify.min.js"></script>
+        <script defer src="/views/ringo/js/main.js.cache_v2"></script>
+        <script defer src="/views/ringo/js/sidebar.js.cache_v3"></script>
+        <script defer src="/views/ringo/js/skin_set.js.cache_v5"></script>
         <link rel="stylesheet" href="/views/ringo/css/main.css.cache_v8">
         {% if request.cookies.get('main_css_darkmode', '') == '1' %}
             {{imp[3][5]|safe}}