我有2个html文件(a.html和index.html)和1个javascript文件(file.js)在a.html -------我有一个不同语言的下拉菜单(如英语) ,德国,印地文)。从下拉列表中选择1种语言。
<select ng-model="lang" class="form-control input-custom input-sm" ng-change="language(lang)" required>
<option value="" selected>--Choose language--</option>
<option value="en-us">english</option>
<option value="id-id">indonesia</option>
</select>
file.js ---根据从a.html文件中选择的语言,我更新index.html文件。
$scope.language=function(lang){
var search_quarry = "bower_components/angular-i18n/angular-locale_" + lang + ".js";
var scr = document.createElement("script");
scr.src = search_quarry;
document.getElementsByTagName("body")[0].appendChild(scr);
console.log(document);
}
在file.js中,如果我执行console.log(document)...它表明脚本标记附加在index.html的主体中。但是当我选择语言时,结果没有反映出来。
用于附加到index.html的脚本标记
<script src="bower_components/angular-i18n/angular-locale_id-id.js"></script>
的index.html ----- 如果我在index.html中手动附加脚本标记,则会显示结果但是当我动态更新它时...脚本标记会附加到index.html文件,但结果不会反映出来。如何重新加载index.html,以便动态添加的内容在运行应用程序时也会反映出来?
答案 0 :(得分:0)
尝试使用setAttribute()而不是直接赋值,更改:
scr.src = search_quarry;
到
scr.setAttribute('src', search_quarry);