我正在使用 Klaro 来管理同意:https://klaro.org/docs/getting-started。
配置中有一些脚本是在运行时加载的。这些脚本在 Klaro 配置变量中定义,可以根据用户同意进行允许或阻止。
如果您接受这些脚本,它们应该被执行。然而,这并没有发生。检查 HTML 代码时,脚本标签仍标记为
type="text/plain"
,而不是转换为实际脚本,就像 Klaro 对页面上最初出现的脚本所做的那样。
出现这种情况是因为新脚本是在 Klaro 初始处理后加载的,并且 Klaro 不会重新检查或操作这些新添加的脚本。
我相信解决方案可能是在接受或拒绝 cookie 后立即禁用 Klaro 对 HTML 页面的自动操作,而是在加载所有必要的脚本后手动触发它。我在文档中找不到任何此功能。
调用
consents = consents.concat(script_config);
执行操作,但这会导致重新执行第一次已经在页面中的脚本。所以我想手动触发一次。
你能帮我找到这个功能吗?
我尝试查看他们网站上的文档:https://klaro.org/docs/getting-started
即使在发布页面上,某些功能也仅在那里记录:https://klaro.org/docs/releases
我检查了 GitHub 问题:https://github.com/klaro-org/klaro-js/issues?q=disable
在 klaro 配置对象内,我将选项设置为 noAutoLoad=true。 在窗口“onload”事件上触发
klaro.getManager(klaroConfig).saveConsents();
有效。
当然,我之前也调用过klaro.setup(klaroConfig);
,但是由于设置“noAutoLoad”,它没有加载。