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

This commit is contained in:
El RIDO 2017-01-30 20:29:04 +01:00
parent 368aa2305b
commit 4bbfd5045e
No known key found for this signature in database
GPG Key ID: 0F5C940A6BD81F92
3 changed files with 8 additions and 9 deletions

View File

@ -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 * @name i18n.loadTranslations
* @function * @function
* @param {Function} callback
*/ */
loadTranslations: function(callback) loadTranslations: function()
{ {
var selectedLang = helper.getCookie('lang'); var selectedLang = helper.getCookie('lang');
var language = selectedLang.length > 0 ? selectedLang : (navigator.language || navigator.userLanguage).substring(0, 2); var language = selectedLang.length > 0 ? selectedLang : (navigator.language || navigator.userLanguage).substring(0, 2);
// note that 'en' is built in, so no translation is necessary // 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 else
{ {
$.getJSON('i18n/' + language + '.json', function(data) { $.getJSON('i18n/' + language + '.json', function(data) {
i18n.language = language; i18n.language = language;
i18n.translations = data; 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 * main application start, called when DOM is fully loaded and
* runs controller initalization after translations are loaded * runs controller initalization after translations are loaded
*/ */
$(i18n.loadTranslations($.proxy(controller.init, controller))); $(i18n.loadTranslations);
return { return {
helper: helper, helper: helper,

View File

@ -69,7 +69,7 @@ if ($MARKDOWN):
<?php <?php
endif; 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]> <!--[if lt IE 10]>
<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style> <style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
<![endif]--> <![endif]-->

View File

@ -47,7 +47,7 @@ if ($MARKDOWN):
<?php <?php
endif; 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]> <!--[if lt IE 10]>
<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style> <style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
<![endif]--> <![endif]-->