0

如何根据 cookie 值在 html 中加载脚本。我需要在开发和部署模式之间切换。

我正在使用 wro4j,但在 wro4j 分组的 js 文件中找不到错误出现的位置。

<head>

if (getcookie(debug-mode) 加载以下脚本

<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>

如何实现这一点

4

1 回答 1

-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)
}

注意:我自己没有测试过

document.cookie基本上,您只是在字符串中查找您要查找的 cookie 的名称。

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

于 2014-05-22T14:48:05.393 回答