ensure that JS is *really* only initialized after the DOM is fully loaded, resolves #166
This commit is contained in:
parent
368aa2305b
commit
4bbfd5045e
3 changed files with 8 additions and 9 deletions
|
@ -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,
|
||||
|
|
|
@ -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]-->
|
||||
|
|
|
@ -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]-->
|
||||
|
|
Loading…
Reference in a new issue