Javascript 基于cookie在html中加载脚本
如何基于cookie值在html中加载脚本。我需要在开发和部署模式之间切换 我正在使用wro4j,但我找不到wro4j分组js文件中的错误Javascript 基于cookie在html中加载脚本,javascript,angularjs,cookies,wro4j,Javascript,Angularjs,Cookies,Wro4j,如何基于cookie值在html中加载脚本。我需要在开发和部署模式之间切换 我正在使用wro4j,但我找不到wro4j分组js文件中的错误 <head> 如果(getcookie(调试模式)加载以下脚本 <script type="text/javascript" src="/assets/v/{{ASSET_VERSION}}/main-core.js"></script> <script type="text/javascript" src="
<head>
如果(getcookie(调试模式)加载以下脚本
<script type="text/javascript" src="/assets/v/{{ASSET_VERSION}}/main-core.js"></script>
<script type="text/javascript" src="/assets/v/{{ASSET_VERSION}}/angular-core.js"></script>
<script type="text/javascript" src="/assets/v/{{ASSET_VERSION}}/angular-app.js"></script>
否则加载此脚本
<script type="text/javascript">
loadIndividualJsCssFiles('config/assets.xml');
</script>
</head>
loadIndividualJsCssFiles('config/assets.xml');
如何实现此操作是浏览器中包含所有cookie信息的字符串。快速而肮脏的解决方案可能如下所示:
function injectScript(src) {
var script = document.createElement('script');
script.src = src;
script.type = 'text/javascript';
document.body.appendChild(script);
}
if ( document.cookie.indexOf('debug-mode') > -1 ) {
injectScript("/assets/v/{{ASSET_VERSION}}/main-core.js");
injectScript("/assets/v/{{ASSET_VERSION}}/angular-core.js");
injectScript("/assets/v/{{ASSET_VERSION}}/angular-app.js");
} else {
var el = document.createElement('script');
script.type = 'text/javascript';
script.text = 'loadIndividualJsCssFiles(\'config/assets.xml\');';
document.head.appendChild(el)
}
注意:我自己还没有测试过
基本上,您只是在document.cookie
字符串中查找要查找的cookie的名称
一种更可靠的方法可能包括将cookie字符串转换为键值数组。YU make-rlemon说:(这不太好。我同意这一评论。