gpt4 book ai didi

javascript - 从服务器获取脚本位置

转载 作者:行者123 更新时间:2023-11-29 10:37:27 24 4
gpt4 key购买 nike

我有一个 Controller (spring),它返回应用程序版本 ("version/get "),我需要使用这个版本来指定 js 文件的位置:

<script src="/r/{{appVersion}}/js/app.js"></script>

我如何使用 javascript 或 angularjs 执行此操作?

我试着做这样的事情:

module.controller('ResourceLoaderController', [
'$rootScope', '$scope', '$http',
function ($rootScope, $scope, $http) {
'use strict';

$scope.getVersion = function() {
$http.get('/version/get').then(function (response) {
$rootScope.appVer = response.data;
});
};

$scope.getVersion();
}]);

然后:

<script src="js/controllers/ResourceLoaderController.js"></script>
<div ng-controller="ResourceLoaderController">
<link rel="stylesheet" type="text/css" href="/r/{{appVer.text}}/css/app.css" charset="utf-8">
<script src="/r/{{appVer.text}}/js/app.js"></script>
</div>

但我不能使用<div>在标题中...

最佳答案

我认为这可能会奏效,

1。有script标记和 link标记,为他们提供某些 ID,

<link rel="stylesheet" type="text/css" href="" charset="utf-8" id="theCSS">
<script src="" id="theScript"></script>

2。修改你的 Controller 看起来像,

module.controller('ResourceLoaderController', [
'$rootScope', '$scope', '$http',
function ($rootScope, $scope, $http) {
'use strict';

$scope.getVersion = function() {
$http.get('/version/get').then(function (response) {
// $rootScope.appVer = response.data;
var scriptElement = angular.element(document.querySelector( '#theScript'));
scriptElement.src = '/r/' + response.data.text +'/js/app.js';
var cssElement = angular.element(document.querySelector( '#theCSS'));
cssElement.href = '/r/' + response.data.text +'/css/app.css';
});
};

$scope.getVersion();
}]);

将ng-controller属性放在html标签/head标签中。

或者尝试动态创建脚本和 css 标签。

关于javascript - 从服务器获取脚本位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34433750/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com