代码之家  ›  专栏  ›  技术社区  ›  user8652270

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

  •  0
  • user8652270  · 技术社区  · 7 年前
    <script>
    document.getElementById("CybotCookiebotDialogBodyContentText").innerHTML += ' | <a href="https://www.google.com/">Google</a>'
    </script>
    

    2 回复  |  直到 7 年前
        1
  •  0
  •   Bricky    7 年前

    在执行Javascript时,该元素可能不存在,这就是为什么会出现错误。

    document.getElementById("CybotCookiebotDialogBodyContentText") 正在返回 null

    #CybotCookiebotDialogBodyContentText 存在,然后抓住它并更新它。

    如果 #CybotCookiebotDialogBodyContentText 加载页面后立即可用,只需将JS移到 <body>

    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>'
    })
    
        2
  •  0
  •   Kenci Hamlet Hakobyan    6 年前

    有一个CookiebotCallback\u OnDialogInit()回调,在将Cookiebot插入DOM时执行,但在显示横幅之前执行。你可以使用它:

    function CookiebotCallback_OnDialogInit()
    {
        document.getElementById("CybotCookiebotDialogBodyContentText").innerHTML += ' | <a href="https://www.google.com/">Google</a>'   
    }