使用 document.write 将外部 JavaScript 文件加载到 AngularJS 应用程序
Load external JavaScript file with document.write into AngularJS app
我得到了这个外部 JavaScript 文件(广告文件),其中有一个 document.write()。我试过用$http加载,然后注入到document.createElement,但是广告服务器不支持这个方法; $http.get.
我试过在脚本中使用 ng-include,但没有用。
我需要加载文件中的脚本,然后运行脚本。我该怎么做?
<script ng-src=""></script>
也不行。它不运行脚本。
谢谢。
为什么不简单地用 jqLite 创建一个 <script>
标签?
$('body').append('<script type="application/javascript" src="http://localhost/test.js"></script>');
它似乎与我的测试文件完美配合。
如果您使用的是 jQuery(听起来您确实是这样),则有一个 method:
$.getScript("http://my/script/url.js");
我最终得到了这个指令——在我的朋友丹尼斯的帮助下——在我的情况下有效。希望对大家有帮助。
(function() {
'use strict';
angular
.module('app')
.directive('emediateScript', emediateScript);
/* @ngInject */
function emediateScript(Ad, $http) {
var directive = {
link: link,
restrict: 'E',
scope: {
ad: '=ad',
}
};
return directive;
function link(scope, element, attrs){
var _el = angular.element(element);
var url = 'http://www.http.com';
var request = {
method: 'GET',
url: url,
headers: {
'X-Authentication': undefined
}
};
if (url) {
$http(request).then(function(response) {
var html = response.data.substr(16);
html = html.substring(0, html.length - 4);
_el.html(html);
});
}
};
};
})();
而 HTML 是;
<emediate-script></emediate-script>
我得到了这个外部 JavaScript 文件(广告文件),其中有一个 document.write()。我试过用$http加载,然后注入到document.createElement,但是广告服务器不支持这个方法; $http.get.
我试过在脚本中使用 ng-include,但没有用。
我需要加载文件中的脚本,然后运行脚本。我该怎么做?
<script ng-src=""></script>
也不行。它不运行脚本。
谢谢。
为什么不简单地用 jqLite 创建一个 <script>
标签?
$('body').append('<script type="application/javascript" src="http://localhost/test.js"></script>');
它似乎与我的测试文件完美配合。
如果您使用的是 jQuery(听起来您确实是这样),则有一个 method:
$.getScript("http://my/script/url.js");
我最终得到了这个指令——在我的朋友丹尼斯的帮助下——在我的情况下有效。希望对大家有帮助。
(function() {
'use strict';
angular
.module('app')
.directive('emediateScript', emediateScript);
/* @ngInject */
function emediateScript(Ad, $http) {
var directive = {
link: link,
restrict: 'E',
scope: {
ad: '=ad',
}
};
return directive;
function link(scope, element, attrs){
var _el = angular.element(element);
var url = 'http://www.http.com';
var request = {
method: 'GET',
url: url,
headers: {
'X-Authentication': undefined
}
};
if (url) {
$http(request).then(function(response) {
var html = response.data.substr(16);
html = html.substring(0, html.length - 4);
_el.html(html);
});
}
};
};
})();
而 HTML 是;
<emediate-script></emediate-script>