Просмотр исходного кода

ensure that JS is *really* only initialized after the DOM is fully loaded, resolves #166

El RIDO 9 лет назад
Родитель
Сommit
4bbfd5045e
3 измененных файлов с 8 добавлено и 9 удалено
  1. 6 7
      js/privatebin.js
  2. 1 1
      tpl/bootstrap.php
  3. 1 1
      tpl/page.php

+ 6 - 7
js/privatebin.js

@@ -397,27 +397,26 @@ jQuery.PrivateBin = function($, sjcl, Base64, RawDeflate) {
         },
 
         /**
-         * load translations into cache, then execute callback function
+         * load translations into cache, then trigger controller initialization
          *
          * @name   i18n.loadTranslations
          * @function
-         * @param  {Function} callback
          */
-        loadTranslations: function(callback)
+        loadTranslations: function()
         {
             var selectedLang = helper.getCookie('lang');
             var language = selectedLang.length > 0 ? selectedLang : (navigator.language || navigator.userLanguage).substring(0, 2);
             // note that 'en' is built in, so no translation is necessary
-            if (this.supportedLanguages.indexOf(language) === -1)
+            if (i18n.supportedLanguages.indexOf(language) === -1)
             {
-                callback();
+                controller.init();
             }
             else
             {
                 $.getJSON('i18n/' + language + '.json', function(data) {
                     i18n.language = language;
                     i18n.translations = data;
-                    callback();
+                    controller.init();
                 });
             }
         },
@@ -1713,7 +1712,7 @@ jQuery.PrivateBin = function($, sjcl, Base64, RawDeflate) {
      * main application start, called when DOM is fully loaded and
      * runs controller initalization after translations are loaded
      */
-    $(i18n.loadTranslations($.proxy(controller.init, controller)));
+    $(i18n.loadTranslations);
 
     return {
         helper: helper,

+ 1 - 1
tpl/bootstrap.php

@@ -69,7 +69,7 @@ if ($MARKDOWN):
 <?php
 endif;
 ?>
-		<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-x8GMx3+kjkTYcs0woYYfMJuezva4bPJ4UasYido780GxFWcVEB9YnEvb5tvGoissx2Vdymvb6bg7hgdmUG+8Cg==" crossorigin="anonymous"></script>
+		<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-YW9b0ChcI/zuJwUZxdQW3zb/LO999he3fOtiio2MhickC7YyrzgvIcgvFMUYZjJ79tYiNzDLmMAZKRMvqoQoGw==" crossorigin="anonymous"></script>
 		<!--[if lt IE 10]>
 		<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
 		<![endif]-->

+ 1 - 1
tpl/page.php

@@ -47,7 +47,7 @@ if ($MARKDOWN):
 <?php
 endif;
 ?>
-		<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-x8GMx3+kjkTYcs0woYYfMJuezva4bPJ4UasYido780GxFWcVEB9YnEvb5tvGoissx2Vdymvb6bg7hgdmUG+8Cg==" crossorigin="anonymous"></script>
+		<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-YW9b0ChcI/zuJwUZxdQW3zb/LO999he3fOtiio2MhickC7YyrzgvIcgvFMUYZjJ79tYiNzDLmMAZKRMvqoQoGw==" crossorigin="anonymous"></script>
 		<!--[if lt IE 10]>
 		<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
 		<![endif]-->