2014-05-22 21 views
0

如何根据cookie值在html中加载脚本。我需要在开发和部署模式之间切换。在基于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="/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> 

如何达致这

回答

-1

document.cookie是浏览器中包含所有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) 
} 

注:我没有测试过这个自己

基本上你只是寻找的cookie名称的次数你正在寻找document.cookie字符串。

更健壮的方法可能包括将您的cookie字符串转换为键值数组。

+2

是你让雷蒙说:(这不是很好, –

+2

我赞同这个评论。 – rlemon