如何在我的应用程序中动态加载JS文件
How to load JS file dynamically in my app?
>我正在尝试加载一个基于我的JS的外部JS文件。
我已经创建了一个服务来做到这一点
angular.module('myApp').service('testService', function($http) {
var prefix;
//codes to determine what prefix is.
// It could be http://partnerapp.com/test or http://linkapp.com/test/libs/...etc
var url = prefix + '/js/test.js';
return $http({
method: 'GET',
url: url
}); //load JS file
});
在我的主控制器中
angular.module('myApp').controller('myController', function($scope, testService){
//I am not sure how to load those js here.
})
无论如何我可以在我的案例中加载它们吗?多谢!
我对 angular.js 没有太多经验,但除了 eval() 我只看到另一个解决方案需要 jQuery(如果你还没有这样做)。我指的是jQuery.getScript(url,callback)。
这意味着您必须执行以下操作:
var url = prefix + '/js/test.js';
$.getScript(url); //load JS file and execute script
回调是可选的,它在加载和解释脚本后执行。
这是我使用过的东西,我可以保证会起作用。 另一种解决方案是使用 src= 创建一个脚本标记并将其附加到页面底部。我还没有测试过它,所以我不能 100% 确定它的成功。
像这样:
angular.module('myApp').controller('myController', function($scope, testService){
testService.then(function(data){
//you can console.log(data) and after maybe eval it ?
eval(data);//eval can be harmfull
}, function(error){
});
});
相关文章:
- 通过单击动态加载的表中同一行的另一个字段来更新一行的字段
- 如何根据对具有多行的先前列表的选择来动态加载下拉列表
- 动态加载和卸载js文件
- 动态加载angularjs并生成控制器和范围
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- 动态加载fancybox并将其连接
- 对插件初始化后动态加载的元素进行样式设置
- 动态加载的自定义javascript/jQuery/HTML5音频播放器的问题
- UIWebview赢得't通过基本身份验证加载动态加载的资源(通过jQuery mobile)
- 使用jquery垂直对齐动态加载的图像
- 在动态加载的对话框中执行Javascript
- angularjs-bindng-click从jquery动态加载DOM
- 在动态加载的html中使用角度控制器
- 如何使用Javascript在FireFox中将html从内存动态加载到iframe中
- 使用systemJS的相对动态加载,使用ES6/Babel语法
- 为什么动态加载的事件在我的代码中不能正常工作
- 在不同的域上动态加载样式表;不适用于Firefox
- 在动态加载的PHP表单上放置JavaScript事件
- 在混合基本 URL 下动态加载 require.js 模块
- 动态加载引导模式主体