这是我的网站自定义代码:
<script>
function showCookieBanner () {
//check lang_id
var policy_id = 0;
var lang_id = jQuery('html').attr('lang').split('-')[0];
console.log(lang_id);
if (lang_id === 'en') {
policy_id = myID;
}
else if (lang_id === 'de') {
policy_id = myID;
}
console.log(policy_id)
//declare Variable for external script (_iub)
var _iub = _iub || [];
_iub.csConfiguration = {
"lang": lang_id,
"siteId": mySiteID,
"cookiePolicyId": policy_id,
};
//run external script:
var head= document.getElementsByTagName('head')[0];
var script= document.createElement('script');
script.src= '//cdn.iubenda.com/cs/iubenda_cs.js';
script.type='text/javascript';
script.charset='UTF-8';
head.appendChild(script);
}
window.addEventListener('load', showCookieBanner);
</script>
使用此脚本,我尝试实现iubenda的cookie横幅解决方案。 首先,检查HMTL文档的lang_id。使用lang_id确定policy_id。然后传递给变量_iub。外部脚本需要变量_iub(请参见代码中的注释)。 整个事情都必须在加载完所有内容后发生,所以我使用“ window.addEventListener('load',showCookieBanner)”。
获取lang_id和policy_id有效(已通过console.log进行了检查),但是在加载页面时出现以下错误消息:
iubenda_cs.js:1 Uncaught ReferenceError: _iub is not defined
at iubenda_cs.js:1
at iubenda_cs.js:1
(anonymous) @ iubenda_cs.js:1
(anonymous) @ iubenda_cs.js:1
答案 0 :(得分:0)
尝试将'_iub'变量声明为全局变量,如下所示:
var _iub = _iub || [];
function showCookieBanner () {
...
}