首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Cookiebot (外部JavaScript)的cookie横幅中注入锚文本和普通文本(通过JavaScript添加)?

如何在Cookiebot (外部JavaScript)的cookie横幅中注入锚文本和普通文本(通过JavaScript添加)?
EN

Stack Overflow用户
提问于 2017-09-22 00:38:08
回答 2查看 338关注 0票数 0
代码语言:javascript
复制
<script>
document.getElementById("CybotCookiebotDialogBodyContentText").innerHTML += ' | <a href="https://www.google.com/">Google</a>'
</script>

我在Google的控制台上尝试过这段代码。我成功了。但是如果我复制并粘贴到"JavaScript (页脚)“或"JavaScript (页眉)”区域(这里是外部JavaScript文件)。然后它向我展示了“(索引):208个未登录的TypeError:无法读取属性'innerHTML‘of null”(可能出现的问题:像!JavaScript这样的声明?JavaScript代码在哪里?)加载cookie横幅时间差的时间)。谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-22 00:42:04

当Javascript执行时,元素可能不存在,这就是为什么要得到错误的原因。

该错误告诉您,它“无法读取空的innerHTML”,这意味着document.getElementById("CybotCookiebotDialogBodyContentText")正在返回null

您需要等待#CybotCookiebotDialogBodyContentText存在,然后获取并更新它。

如果页面加载后立即可用#CybotCookiebotDialogBodyContentText,只需将JS移动到<body>元素的末尾即可。否则,您需要设置一个轮询函数来等待它,例如:

代码语言:javascript
复制
function waitFor(element, f) {
    if (document.querySelector(element)) {
        f();
    } else {
        waitFor(element, f);
    }
}

waitFor('#CybotCookiebotDialogBodyContentText', function() {
    document.getElementById("CybotCookiebotDialogBodyContentText").innerHTML += ' | <a href="https://www.google.com/">Google</a>'
})
票数 0
EN

Stack Overflow用户

发布于 2018-05-29 21:22:27

有一个CookiebotCallback_OnDialogInit()回调,它在Cookiebot插入DOM时执行,但在横幅显示之前执行。你可以用这个:

代码语言:javascript
复制
function CookiebotCallback_OnDialogInit()
{
    document.getElementById("CybotCookiebotDialogBodyContentText").innerHTML += ' | <a href="https://www.google.com/">Google</a>'   
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46355184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档