Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Подключить скрипт скриптом (https://javascript.ru/forum/misc/46326-podklyuchit-skript-skriptom.html)

Batska 05.04.2014 23:50

Подключить скрипт скриптом
 
Пишу локализацию приложения, и необходимо одним скриптом подключить другой, в котором содержатся строки локализации, т.к. для каждой страны свой файл, но скрипт отказывается работать, выдает, что массив со строками не найден.

Мой код:
var lang = localStorage.getItem('language');
if (lang == undefined) {
	lang = 'en';
}
if (lang != 'ru') {
   //подключаем файл с переводом на конкретный язык
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = 'localization/' + lang + '.js';
    script.charset = 'UTF-8';
    //script.onload = function() {   ---не помогает
    //    alert("Script loaded and ready");
    //};
    document.getElementsByTagName('head')[0].appendChild(script);
    
    var stringsClass = document.getElementsByClassName('string');
    for (var i = 0; i < stringsClass.length; i++) {
        stringsClass[i].innerHTML = strings[stringsClass[i].innerHTML];
    }
}

Batska 05.04.2014 23:53

Проблема решена, извините за беспокойство, надо было так:
var lang = localStorage.getItem('language');
if (lang == undefined) {
	lang = 'en';
}
if (lang != 'ru') {
   //подключаем файл с переводом на конкретный язык
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = 'localization/' + lang + '.js';
    script.charset = 'UTF-8';
    script.onload = function() {
        document.getElementsByTagName('head')[0].appendChild(script);
        var stringsClass = document.getElementsByClassName('string');
        for (var i = 0; i < stringsClass.length; i++) {
            stringsClass[i].innerHTML = strings[stringsClass[i].innerHTML];
        }
    };
}


Часовой пояс GMT +3, время: 03:59.